Re: [PATCH v5 12/24] erofs: introduce tagged pointer

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 2019/7/31 21:20, Gao Xiang wrote:
> Yes, I think that is about coding style, but the legacy way we have to do
> type cast as well, I think...
> 
>    struct b *ptr = tagptr_unfold_tags(tptr);
> vs
>    struct b *ptr = (struct b *)((unsigned long)tptr & ~2);

and we could do "typedef tagptr1_t tptrb;" and then use tptrb for tagged
pointer rather than barely use tagptr1_t tagptr2_t ... as I mentioned in:
https://lore.kernel.org/lkml/0c2cdd4f-8fe7-6084-9c2d-c2e475e6806e@xxxxxxx/

I think "tptrb" is enough for developers to know the original pointer type
when they coding...

OTOH, I think it could be better not to directly use "struct b *" to
represent the whole tagged pointer since it seems unsafe to do dereference
directly.. It could introduce some potential bugs...

All in all, this approach is only used for EROFS for now... If there are
some better implementation, I can switch to it in the later version :)

Thanks,
Gao Xiang
_______________________________________________
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxx
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel



[Index of Archives]     [Linux Driver Backports]     [DMA Engine]     [Linux GPIO]     [Linux SPI]     [Video for Linux]     [Linux USB Devel]     [Linux Coverity]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux