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
};

-- 
Josh

Reply via email to