Messages in this thread | | | From | jim.cromie@gmail ... | Date | Fri, 3 Nov 2023 19:49:02 -0600 | Subject | Re: [PATCH v1 07/12] dyndbg: repack struct _ddebug |
| |
On Fri, Nov 3, 2023 at 7:10 AM Łukasz Bartosik <lb@semihalf.com> wrote: > > From: Jim Cromie <jim.cromie@gmail.com> > > Move the JUMP_LABEL to the top of the struct, since theyre both > align(8) and this closes a pahole (unfortunately trading for padding, > but still). > > Signed-off-by: Jim Cromie <jim.cromie@gmail.com>
let me add, I havent really tested this, nevermind thorough. specifically, I didnt look for any offset dependence on the static-key inside their container. Conversely, maybe theres a free default or something in there.
> --- > include/linux/dynamic_debug.h | 12 ++++++------ > 1 file changed, 6 insertions(+), 6 deletions(-) > > diff --git a/include/linux/dynamic_debug.h b/include/linux/dynamic_debug.h > index 497130816e9c..b9237e4ecd1b 100644 > --- a/include/linux/dynamic_debug.h > +++ b/include/linux/dynamic_debug.h > @@ -14,6 +14,12 @@ > * the special section is treated as an array of these. > */ > struct _ddebug { > +#ifdef CONFIG_JUMP_LABEL > + union { > + struct static_key_true dd_key_true; > + struct static_key_false dd_key_false; > + } key; > +#endif > /* > * These fields are used to drive the user interface > * for selecting and displaying debug callsites. > @@ -53,12 +59,6 @@ struct _ddebug { > #define _DPRINTK_FLAGS_DEFAULT 0 > #endif > unsigned int flags:8; > -#ifdef CONFIG_JUMP_LABEL > - union { > - struct static_key_true dd_key_true; > - struct static_key_false dd_key_false; > - } key; > -#endif > } __attribute__((aligned(8))); > > enum class_map_type { > -- > 2.42.0.869.gea05f2083d-goog >
| |