Re: Futexes & Folios

From: Davidlohr Bueso
Date: Sat May 13 2023 - 16:43:58 EST


On Sat, 13 May 2023, Matthew Wilcox wrote:

Here's a patch which converts the futex code from using pages to using
folios. I do have some questions.

- I assume we really do want to base the key on the page offset of the
futex in the file. That is, it's not good enough to base the key
on the folio's index because the folio can be split after setting up
the key, and if it is we'd then fail to find the futex later.
- In hugetlbfs, it doesn't matter whether the pgoff is based on base
pages or huge page size -- as long as it's consistent between
invocations, everything will work

As tglx already mentioned, yes to both.

(I have ideas about a get_user_folio() but those are not represented in
this patch)

Btw, regarding some of the concerns about the gup overhead for futexes
in the physr discussion at lsfmm; 'perf bench futex hash' would be a good
way of measuring any impact at a micro level and going from there. This
is only necessary of course for shared futexes, fast/private ones just
use the address space.

Thanks,
Davidlohr