lkml.org 
[lkml]   [2004]   [Sep]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] Yielding processor resources during lock contention
On Sat, 11 Sep 2004, Andrew Morton wrote:

> Zwane Mwaikambo <zwane@fsmlabs.com> wrote:
> >
> > The following patch introduces cpu_lock_yield which allows architectures
> > to possibly yield processor resources during lock contention.
>
> err.. Haven't you just invented a really sucky semaphore?

Wait up.. didn't _you_ create that __preempt_spin_lock thing!? ;)

> > The original
> > requirement stems from Paul's requirement on PPC64 LPAR systems to yield
> > the processor to the hypervisor instead of spinning.
>
> Maybe Paul needs to use a semaphore.
>
>
> Now, maybe Paul has tied himself into sufficiently tangly locking knots
> that in some circumstances he needs to spin on the lock and cannot schedule
> away. But he can still use a semaphore and spin on down_trylock.
>
> Confused by all of this.

Well currently it just enables preempt and spins like a mad man until the
lock is free. The idea is to allow preempt to get some scheduling done
during the spin.. But! if you accept this patch today, you get the
i386 version which will allow your processor to halt until a write to the
lock occurs whilst allowing interrupts to also trigger the preempt
scheduling, much easier on the caches.

Zwane
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 14:06    [W:0.106 / U:0.176 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site