Re: [PATCH net-next 6/7] xsk: add helper to get &xdp_desc's DMA and meta pointer in one go
From: Alexander Lobakin
Date: Fri Dec 20 2024 - 11:03:15 EST
From: Jakub Kicinski <kuba@xxxxxxxxxx>
Date: Thu, 19 Dec 2024 19:50:58 -0800
> On Wed, 18 Dec 2024 18:44:34 +0100 Alexander Lobakin wrote:
>> + ret = (typeof(ret)){
>> + /* Same logic as in xp_raw_get_dma() */
>> + .dma = (pool->dma_pages[addr >> PAGE_SHIFT] &
>> + ~XSK_NEXT_PG_CONTIG_MASK) + (addr & ~PAGE_MASK),
>> + };
>
> This is quite ugly IMHO
What exactly: that the logic is copied or how that code (>> & ~ + & ~)
looks like?
If the former, I already thought of making a couple internal defs to
avoid copying.
If the latter, I also thought of this, just wanted to be clear that it's
the same as in xp_raw_get_dma(). But it can be refactored to look more
fancy anyway.
Or the compound return looks ugly? Or the struct initialization?
Thanks,
Olek