On Mon, Nov 11 2024 at 11:19, Luming Yu wrote: factout?
> To have lowlevel paca.h include high level entry-common.h cause > include file dependency mess. That's not a technical explanation which explains which problem this patch is trying to solve. > Split irqentry-state.h to have the irqentry_state.h can be included in > low level paca.h That's not what the patch actually does. It does two things: 1) Split the generic header file 2) Change the PowerPC code. That's not how it works. See Documentation/process ... > diff --git a/include/linux/entry-common.h b/include/linux/entry-common.h > index d95ab85f96ba..6521171469f2 100644 > --- a/include/linux/entry-common.h > +++ b/include/linux/entry-common.h > @@ -352,30 +352,6 @@ void irqentry_enter_from_user_mode(struct pt_regs *regs); > */ > void irqentry_exit_to_user_mode(struct pt_regs *regs); > > -#ifndef irqentry_state > -/** > - * struct irqentry_state - Opaque object for exception state storage > - * @exit_rcu: Used exclusively in the irqentry_*() calls; signals whether the > - * exit path has to invoke ct_irq_exit(). > - * @lockdep: Used exclusively in the irqentry_nmi_*() calls; ensures that > - * lockdep state is restored correctly on exit from nmi. > - * > - * This opaque object is filled in by the irqentry_*_enter() functions and > - * must be passed back into the corresponding irqentry_*_exit() functions > - * when the exception is complete. > - * > - * Callers of irqentry_*_[enter|exit]() must consider this structure opaque > - * and all members private. Descriptions of the members are provided to aid > in > - * the maintenance of the irqentry_*() functions. > - */ > -typedef struct irqentry_state { > - union { > - bool exit_rcu; > - bool lockdep; > - }; > -} irqentry_state_t; > -#endif How is this supposed to compile on any architecture which uses the generic entry code? Thanks, tglx