> This patch seems trivially broken by having two futexes on the same
> page. When the first futex removes itself, it will clear the sticky
> bit, even though the other futex is still pinning the same page.
sigh. And we cannot even properly detect which unpin_page() was the last
unpinning of the page - there can be so many other reasons a page's count
is elevated. And keeping a page sticky forever is no solution either, the
number of sticky pages would increase significantly, causing real fork()
problems.
> Trust me, you'll have to use the page list approach.
yeah, will try that now. I'm a bit worried about the mandatory cross-CPU
TLB flushes though.
Ingo
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/