Re: [PATCH v2] jump_label: reduce the size of struct static_key

2017-01-23 Thread Jason Baron
On 01/21/2017 02:07 AM, Ingo Molnar wrote: * Jason Baron wrote: For example the last line could sure be written as: key->entries = jlm->entries; key->type |= static_key_type(key); right? Hi, So that is going to

Re: [PATCH v2] jump_label: reduce the size of struct static_key

2017-01-23 Thread Jason Baron
On 01/21/2017 02:07 AM, Ingo Molnar wrote: * Jason Baron wrote: For example the last line could sure be written as: key->entries = jlm->entries; key->type |= static_key_type(key); right? Hi, So that is going to over-write the

Re: [PATCH v2] jump_label: reduce the size of struct static_key

2017-01-20 Thread Ingo Molnar
* Jason Baron wrote: > >For example the last line could sure be written as: > > > > key->entries = jlm->entries; > > key->type |= static_key_type(key); > > > >right? > > Hi, > > So that is going to over-write the static_key_type(key)

Re: [PATCH v2] jump_label: reduce the size of struct static_key

2017-01-20 Thread Ingo Molnar
* Jason Baron wrote: > >For example the last line could sure be written as: > > > > key->entries = jlm->entries; > > key->type |= static_key_type(key); > > > >right? > > Hi, > > So that is going to over-write the static_key_type(key) in the first >

Re: [PATCH v2] jump_label: reduce the size of struct static_key

2017-01-20 Thread Jason Baron
On 01/20/2017 02:19 AM, Ingo Molnar wrote: * Jason Baron wrote: struct static_key { atomic_t enabled; +/* + * bit 0 => 1 if key is initially true + * 0 if initially false + * bit 1 => 1 if points to struct static_key_mod + * 0 if points to struct

Re: [PATCH v2] jump_label: reduce the size of struct static_key

2017-01-20 Thread Jason Baron
On 01/20/2017 02:19 AM, Ingo Molnar wrote: * Jason Baron wrote: struct static_key { atomic_t enabled; +/* + * bit 0 => 1 if key is initially true + * 0 if initially false + * bit 1 => 1 if points to struct static_key_mod + * 0 if points to struct jump_entry + */ +

Re: [PATCH v2] jump_label: reduce the size of struct static_key

2017-01-19 Thread Ingo Molnar
* Jason Baron wrote: > struct static_key { > atomic_t enabled; > +/* > + * bit 0 => 1 if key is initially true > + * 0 if initially false > + * bit 1 => 1 if points to struct static_key_mod > + * 0 if points to struct jump_entry > + */ > + union { > +

Re: [PATCH v2] jump_label: reduce the size of struct static_key

2017-01-19 Thread Ingo Molnar
* Jason Baron wrote: > struct static_key { > atomic_t enabled; > +/* > + * bit 0 => 1 if key is initially true > + * 0 if initially false > + * bit 1 => 1 if points to struct static_key_mod > + * 0 if points to struct jump_entry > + */ > + union { > + unsigned

Re: [PATCH v2] jump_label: reduce the size of struct static_key

2017-01-19 Thread Jason Baron
On 01/04/2017 01:41 PM, Jason Baron wrote: The static_key->next field goes mostly unused. The field is used for associating module uses with a static key. Most uses of struct static_key define a static key in the core kernel and make use of it entirely within the core kernel, or define the

Re: [PATCH v2] jump_label: reduce the size of struct static_key

2017-01-19 Thread Jason Baron
On 01/04/2017 01:41 PM, Jason Baron wrote: The static_key->next field goes mostly unused. The field is used for associating module uses with a static key. Most uses of struct static_key define a static key in the core kernel and make use of it entirely within the core kernel, or define the

[PATCH v2] jump_label: reduce the size of struct static_key

2017-01-04 Thread Jason Baron
The static_key->next field goes mostly unused. The field is used for associating module uses with a static key. Most uses of struct static_key define a static key in the core kernel and make use of it entirely within the core kernel, or define the static key in a module and make use of it only

[PATCH v2] jump_label: reduce the size of struct static_key

2017-01-04 Thread Jason Baron
The static_key->next field goes mostly unused. The field is used for associating module uses with a static key. Most uses of struct static_key define a static key in the core kernel and make use of it entirely within the core kernel, or define the static key in a module and make use of it only