Messages in this thread | | | From | Ankur Arora <> | Subject | Re: [PATCH v2 7/9] sched: define TIF_ALLOW_RESCHED | Date | Sat, 09 Sep 2023 13:04:49 -0700 |
| |
Peter Zijlstra <peterz@infradead.org> writes:
> On Fri, Sep 08, 2023 at 11:39:47PM -0700, Ankur Arora wrote: > >> Yeah, exactly. Though, not even a single context level, but a flag >> attached to a single context at the process level only. Using >> preempt_count() == 0 as the preemption boundary. >> >> However, this has a problem with the PREEMPT_COUNT=n case because that >> doesn't have a preemption boundary. > > So, with a little sleep, the nested exception/interrupt case should be > good, irqenrty_enter() / irqentry_nmi_enter() unconditionally increment > preempt_count with HARDIRQ_OFFSET / NMI_OFFSET. > > So while regular preempt_{dis,en}able() will turn into a NOP, the entry > code *will* continue to increment preempt_count.
Right, I was talking about the regular preempt_disable()/_enable() that will turn into a NOP with PREEMPT_COUNT=n.
Actually, let me reply to the mail where you had described this case.
-- ankur
| |