Messages in this thread | | | Date | Wed, 7 May 2014 10:43:16 +0100 | From | Mel Gorman <> | Subject | Re: [PATCH 03/17] mm: page_alloc: Use jump labels to avoid checking number_of_cpusets |
| |
On Wed, May 07, 2014 at 11:04:21AM +0200, Peter Zijlstra wrote: > On Tue, May 06, 2014 at 11:21:18PM +0100, Mel Gorman wrote: > > On Tue, May 06, 2014 at 10:23:50PM +0200, Peter Zijlstra wrote: > > > > Why the HAVE_JUMP_LABEL and number_of_cpusets thing? When > > > !HAVE_JUMP_LABEL the static_key thing reverts to an atomic_t and > > > static_key_false() becomes: > > > > > > > Because number_of_cpusets is used to size a kmalloc(). Potentially I could > > abuse the internals of static keys and use the value of key->enabled but > > that felt like abuse of the API. > > But are those ifdefs worth the saving of 4 bytes of .data? > > That said, I see no real problem adding static_key_count().
I thought it would be considered API abuse as I always viewed the labels as being a enabled/disabled thing with the existence of the ref count being an internal implementation detail. I'll take this approach.
Thanks.
-- Mel Gorman SUSE Labs
| |