Messages in this thread | | | Date | Tue, 26 Aug 2003 11:08:00 +0300 | From | Muli Ben-Yehuda <> | Subject | Re: [PATCH 2/2] Futex non-page-pinning fix |
| |
On Tue, Aug 26, 2003 at 09:56:51AM +0200, Arjan van de Ven wrote: > On Tue, 2003-08-26 at 09:02, Andrew Morton wrote: > > > umm, how about hashing only on offset into page? That reduces the number of > > threads which need to be visited in futex_wake() by a factor of up to 1024. > > How likely do you consider it that we then get a major collision? > I wouldn't be surprised if, say, glibc lays some hot futexes out in a > way that's the same for all processes in the system, like start of the > page.... Might as well not hash :)
How about combining something that's shared to all of the threads that share a futex but not system wide (the mm?) with something simple that won't change, like the page offset? Adding the mm into the mix wil make collisions harder, and limiting the buckets to the number of different futex offsets will make it simple and differentiate between different futexes in the same mm. -- Muli Ben-Yehuda http://www.mulix.org
[unhandled content-type:application/pgp-signature] | |