Yes, I thought about that. I decided it wasn't a problem, as long asthe struct page remains aligned, and we now have a guarantee that allocationsabove 512 bytes in size are aligned. With a 64 byte struct page, as longas we're allocating at least 8 pages, we know it'll be naturally aligned.

Your calculation doesn't take into account the size of struct page.128M / 64k is indeed 2k, but you forgot to multiply by 64, which takesus to 128kB.