Re: [PATCH 1/1] mm/page_alloc: add scheduling point to free_unref_page_list

From: Andrew Morton
Date: Wed Mar 09 2022 - 22:29:55 EST


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.