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

Reply via email to