Le Wed, Jul 02, 2025 at 06:59:38AM -0400, Joel Fernandes a écrit : > > > On 7/2/2025 5:14 AM, Qi Xi wrote: > > Hi Joel, > > > > After applying the 2 patches, the problem still exists. Compared to the > > previous > > fixes which did solve the problem, the difference is ct_in_irq() in the > > first > > patch. > > > > I am wondering why "nesting != CT_NESTING_IRQ_NONIDLE" is added? > > > > > > (previous fix: problem is solved) > > > > +bool ct_in_irq(void) > > +{ > > + return ct_nmi_nesting() != 0; > > +} > > > > (current fix: problem still exists) > > > > +bool ct_in_irq(void) > > +{ > > + long nesting = ct_nmi_nesting(); > > + > > + return (nesting && nesting != CT_NESTING_IRQ_NONIDLE); > > +} > > Oh gosh, thanks for spotting that! Indeed, I had changed it to != 0 in the > last > version but applied an older patch. I will fix it in the tree. Thank you > again! > > Neeraj, would you like this as a separate commit that you can then squash? Or > could you fix it up in your tree?
nesting == CT_NESTING_IRQ_NONIDLE means that the rcu_is_watching() and we are not in an interrupt. We still need to rule out that case, right? Is there something else that makes it not working? -- Frederic Weisbecker SUSE Labs