Re: [PATCH net-next 03/12] mm: Make the page_frag_cache allocator alignment param a pow-of-2
From: David Howells
Date: Fri Jun 16 2023 - 11:29:29 EST
Alexander H Duyck <alexander.duyck@xxxxxxxxx> wrote:
> The requirement should only be cache alignment, not power of 2
> alignment.
Sure, but, upstream, page_frag_alloc_align() allows the specification of an
alignment and applies that alignment by:
offset &= align_mask;
which doesn't really make sense unless the alignment boils down to being a
power of two. Now, it might make sense to kill off the align_mask parameter
and just go with SMP_CACHE_BYTES (which will be a power of two).
Note, though, that most users seem to use an align_mask of ~0u which feels a
bit dodgy (it's not an unsigned long), but is probably fine.
David