On Thu 2020-09-24 06:24:14, Ahmed S. Darwish wrote: > On Wed, Sep 23, 2020 at 03:56:17PM +0200, Petr Mladek wrote: > ... > > > > -static inline u32 printk_caller_id(void) > > +static enum printk_caller_ctx get_printk_caller_ctx(void) > > +{ > > + if (in_nmi()) > > + return printk_ctx_nmi; > > + > > + if (in_irq()) > > + return printk_ctx_hardirq; > > + > > + if (in_softirq()) > > + return printk_ctx_softirq; > > + > > + return printk_ctx_task; > > +} > > + > > in_softirq() here will be true for both softirq contexts *and* > BH-disabled regions. Did you mean in_serving_softirq() instead?
Good question! I am not sure if people would want to distinguish these two situations. Otherwise, I think that is_softirq() more close to the meaning of in_irq(). They both describe a context where a new interrupt has to wait until the handling gets enabled again. Best Regards, Petr