On Fri, Jun 27, 2025 at 09:55:30AM -0700, Josh Poimboeuf wrote: > On Fri, Jun 27, 2025 at 12:48:18PM +0200, Peter Zijlstra wrote: > > > +#define JUMP_TABLE_ENTRY(key, label) \ > > > + ".pushsection __jump_table, \"aM\", @progbits, " \ > > > + __stringify(JUMP_ENTRY_SIZE) "\n\t" \ > > > > Argh, can you please not do this line-break. Yes it'll be long, but this > > is most confusing. > > Yeah, I'll go indent that like the extable one. > > > > @@ -29,6 +30,9 @@ int main(void) > > > #else > > > DEFINE(LRU_GEN_WIDTH, 0); > > > DEFINE(__LRU_REFS_WIDTH, 0); > > > +#endif > > > +#if defined(CONFIG_HAVE_ARCH_JUMP_LABEL_RELATIVE) && > > > defined(CONFIG_JUMP_LABEL) > > > > How is HAVE_ARCH_JUMP_LABEL_RELATIVE relevant here? > > #ifdef CONFIG_HAVE_ARCH_JUMP_LABEL_RELATIVE > > struct jump_entry { > s32 code; > s32 target; > long key; // key may be far away from the core kernel under KASLR > };
Well,... that's odd. I was sure there was a !HAVE_ARCH_JUMP_LABEL_RELATIVE version somewhere... Oh well.