Re: [PATCH] mm: remove offset check on page->compound_head and folio->lru

Wei Yang
2022-01-23T01:38:56Z

On Sat, Jan 08, 2022 at 08:13:40AM +0000, Wei Yang wrote:
>On Sat, Jan 08, 2022 at 12:49:53AM +0000, Matthew Wilcox wrote:
>>On Fri, Jan 07, 2022 at 04:08:25PM -0800, Andrew Morton wrote:
>>> On Fri, 7 Jan 2022 22:11:20 +0000 Matthew Wilcox <willy@infradead.org> wrote:
>>>
>>> > > Hi, Matthew
>>> > >
>>> > > Would you mind sharing some insight on this check?
>>> >
>>> > It's right there in the comments.
>>>
>>> Well I can't figure out which comment you're referring to?
>>
>> * WARNING: bit 0 of the first word is used for PageTail(). That
>> * means the other users of this union MUST NOT use the bit to
>> * avoid collision and false-positive PageTail().
>>
>
>I know this requirement on bit 0 of first word. But I don't see the connection
>between this and the check of page->compound_head and folio->lru.
>
>This is more like a internal requirement on struct page. There are 8 struct in
>this five words union. And this requirement apply to bit 0 of first word of
>all those five struct.
>
>To me, if folio has the same layout of page, folio meets this requirement. I
>still not catch the point why we need this check here.
>

Hi, Matthew

Are you back from vocation? If you could give more insight on this check, I
would be appreciated.