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