Re: [PATCH] Yielding processor resources during lock contention

From: Zwane Mwaikambo
Date: Sun Sep 12 2004 - 00:49:35 EST


On Sun, 12 Sep 2004, Nick Piggin wrote:

> Zwane Mwaikambo wrote:
> > On Sun, 12 Sep 2004, Nick Piggin wrote:
>
> >>I presume the hypervisor switch much incur the same sorts of costs as
> >>a context switch?
> >
> > In the PPC64 and P4/HT case the spinning on a lock is a bad utilisation of
> > the execution resources and that's what we're really trying to avoid, not
> > necessarily cache thrashing from a context switch.
>
> But isn't yielding to the hypervisor and thus causing it to schedule
> something else basically the same as a context switch? (I don't know
> anything about POWER).

Yielding processor to the hypervisor allows it to schedule the physical
processor for execution time on a different logical partition. The
scheduling in this case is at the hardware/firmware level.

> If yes, then shouldn't your lock be a blocking lock anyway?

We just happen to allow preemption since we know we're at an upper level
lock, so we may as well not disable preemption during contention. It
wouldn't be as straightforward to switch to a blocking lock.

Zwane
-
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/