Messages in this thread | | | Date | Fri, 16 Apr 2021 12:05:53 +0100 | From | Matthew Wilcox <> | Subject | Re: [PATCH 1/1] mm: Fix struct page layout on 32-bit systems |
| |
On Fri, Apr 16, 2021 at 07:32:35AM +0000, David Laight wrote: > From: Matthew Wilcox <willy@infradead.org> > > Sent: 15 April 2021 23:22 > > > > On Thu, Apr 15, 2021 at 09:11:56PM +0000, David Laight wrote: > > > Isn't it possible to move the field down one long? > > > This might require an explicit zero - but this is not a common > > > code path - the extra write will be noise. > > > > Then it overlaps page->mapping. See emails passim. > > The rules on overlaps make be wonder if every 'long' > should be in its own union.
That was what we used to have. It was worse.
> The comments would need to say when each field is used. > It would, at least, make these errors less common. > > That doesn't solve the 64bit dma_addr though. > > Actually rather that word-swapping dma_addr on 32bit BE > could you swap over the two fields it overlays with. > That might look messy in the .h, but it doesn't require > an accessor function to do the swap - easily missed.
No.
| |