On Thu, 10 Mar 2022 10:48:41 +0800 wangjianxing <wangjianxing@xxxxxxxxxxx> wrote: > spin_lock will preempt_disable(), interrupt context will > __irq_enter/local_bh_disable and also add preempt count with offset. > > cond_resched check whether if preempt_count == 0 in first and won't > schedule in previous context. > > Is this right? > > > With another way, could we add some condition to avoid call cond_resched > in interrupt context or spin_lock()? > > + if (preemptible()) > + cond_resched(); > None of this works with CONFIG_PREEMPTION=n.