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