Re: [RFC 02/10] mm/hmm: Remove dead check for HugeTLB and FS DAX

Alistair Popple
2024-04-12T01:34:02Z

Peter Xu <peterx@redhat.com> writes:

> On Thu, Apr 11, 2024 at 09:25:30AM -0300, Jason Gunthorpe wrote:
>> On Thu, Apr 11, 2024 at 10:57:23AM +1000, Alistair Popple wrote:
>> > pud_huge() returns true only for a HugeTLB page. pud_devmap() is only
>> > used by FS DAX pages. These two things are mutually exclusive so this
>> > code is dead code and can be removed.
>>
>> I'm not sure this is true.. pud_huge() is mostly a misspelling of pud_leaf()..
>>
>> > - if (pud_huge(pud) && pud_devmap(pud)) {
>>
>> I suspect this should be written as:
>>
>> if (pud_leaf(pud) && pud_devmap(pud)) {

Oh that makes a lot more sense. I'd taken the comment for pud_huge() at
face value (ie. that it's a hugetlbfs page) without digging further.

>> In line with Peter's work here:
>>
>> https://lore.kernel.org/linux-mm/20240321220802.679544-1-peterx@redhat.com/
>
> Just to provide more information for Alistair, this patch already switched
> that over to a _leaf():

Got it, thanks (and apologies for missing my Cc on that).

> https://lore.kernel.org/r/20240318200404.448346-12-peterx@redhat.com
>
> That's in mm-unstable now, so should see that in a rebase.
>
> And btw it's great to see that pxx_devmap() can go away.

Yep, AFAICT pxx_devmap only exists to do this special FS DAX
refcounting. Once that is fixed it can go away.

> Thanks,