Re: [PATCH] futex: eliminate cache miss from futex_hash()

2015-10-26 Thread Sebastian Andrzej Siewior
On 09/12/2015 11:59 AM, Ingo Molnar wrote: > > * Davidlohr Bueso wrote: > >> I think we should leave it as is. > > But ... given that these are shared-cached values (cached on all CPUs), this > change would only be measurable in such a benchmark if the cache footprint of > the > test is

Re: [PATCH] futex: eliminate cache miss from futex_hash()

2015-10-26 Thread Sebastian Andrzej Siewior
On 09/12/2015 11:59 AM, Ingo Molnar wrote: > > * Davidlohr Bueso wrote: > >> I think we should leave it as is. > > But ... given that these are shared-cached values (cached on all CPUs), this > change would only be measurable in such a benchmark if the cache footprint of >

Re: [PATCH] futex: eliminate cache miss from futex_hash()

2015-09-12 Thread Ingo Molnar
* Davidlohr Bueso wrote: > On Wed, 09 Sep 2015, Rasmus Villemoes wrote: > > >futex_hash() references two global variables: the base pointer > >futex_queues and the size of the array futex_hashsize. The latter is > >marked __read_mostly, while the former is not, so they are likely to > >end up

Re: [PATCH] futex: eliminate cache miss from futex_hash()

2015-09-12 Thread Ingo Molnar
* Davidlohr Bueso wrote: > On Wed, 09 Sep 2015, Rasmus Villemoes wrote: > > >futex_hash() references two global variables: the base pointer > >futex_queues and the size of the array futex_hashsize. The latter is > >marked __read_mostly, while the former is not, so they are

Re: [PATCH] futex: eliminate cache miss from futex_hash()

2015-09-10 Thread Davidlohr Bueso
On Wed, 09 Sep 2015, Rasmus Villemoes wrote: futex_hash() references two global variables: the base pointer futex_queues and the size of the array futex_hashsize. The latter is marked __read_mostly, while the former is not, so they are likely to end up very far from each other. This means that

Re: [PATCH] futex: eliminate cache miss from futex_hash()

2015-09-10 Thread Davidlohr Bueso
On Wed, 09 Sep 2015, Rasmus Villemoes wrote: futex_hash() references two global variables: the base pointer futex_queues and the size of the array futex_hashsize. The latter is marked __read_mostly, while the former is not, so they are likely to end up very far from each other. This means that

[PATCH] futex: eliminate cache miss from futex_hash()

2015-09-09 Thread Rasmus Villemoes
futex_hash() references two global variables: the base pointer futex_queues and the size of the array futex_hashsize. The latter is marked __read_mostly, while the former is not, so they are likely to end up very far from each other. This means that futex_hash() is likely to encounter two cache

[PATCH] futex: eliminate cache miss from futex_hash()

2015-09-09 Thread Rasmus Villemoes
futex_hash() references two global variables: the base pointer futex_queues and the size of the array futex_hashsize. The latter is marked __read_mostly, while the former is not, so they are likely to end up very far from each other. This means that futex_hash() is likely to encounter two cache