Re: [PATCH] spin_unlock*_no_resched()

From: Peter Zijlstra
Date: Tue Jun 18 2013 - 06:05:49 EST


On Wed, Jun 12, 2013 at 04:06:47PM +0400, Kirill Tkhai wrote:
> There are many constructions like:
>
> spin_unlock_irq(lock);
> schedule();
>
> In case of preemptible kernel we check if task needs reschedule
> at the end of spin_unlock(). So if TIF_NEED_RESCHED is set
> we call schedule() twice and we have a little overhead here.
> Add primitives to avoid these situations.
>

Aside from the excellent comments you received from Steven, please also
include a patch that converts some (if not all) of these many callsites
you found so that there's a user of the new code in the kernel.

That way we can simply build + run the kernel and have more confidence
things work as supposed.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/