On 8/20/19 4:30 AM, Christoph Hellwig wrote: > On Mon, Aug 19, 2019 at 07:46:00PM +0200, David Sterba wrote: >> Another thing that is lost is the slub debugging support for all >> architectures, because get_zeroed_pages lacking the red zones and sanity >> checks. >> >> I find working with raw pages in this code a bit inconsistent with the >> rest of btrfs code, but that's rather minor compared to the above. >> >> Summing it up, I think that the proper fix should go to copy_page >> implementation on architectures that require it or make it clear what >> are the copy_page constraints. > > The whole point of copy_page is to copy exactly one page and it makes > sense to assume that is aligned. A sane memcpy would use the same > underlying primitives as well after checking they fit. So I think the > prime issue here is btrfs' use of copy_page instead of memcpy. The > secondary issue is slub fucking up alignments for no good reason. We > just got bitten by that crap again in XFS as well :( Meh, I should finally get back to https://lwn.net/Articles/787740/ right