[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1219833668.6462.72.camel@twins>
Date: Wed, 27 Aug 2008 12:41:08 +0200
From: Peter Zijlstra <peterz@...radead.org>
To: Nick Piggin <npiggin@...e.de>
Cc: Gregory Haskins <ghaskins@...ell.com>, mingo@...e.hu,
srostedt@...hat.com, linux-kernel@...r.kernel.org,
linux-rt-users@...r.kernel.org, gregory.haskins@...il.com
Subject: Re: [PATCH v2 3/6] sched: make double-lock-balance fair
On Wed, 2008-08-27 at 12:26 +0200, Nick Piggin wrote:
> On Wed, Aug 27, 2008 at 10:21:35AM +0200, Peter Zijlstra wrote:
> > I suppose one could then write it like:
> >
> > if (spin_is_contended(&this_rq->lock) || !spin_trylock(&busiest->lock)) {
> > spin_unlock(&this_rq->lock);
> > double_rq_lock(this_rq, busiest);
> > }
> >
> > But, I'm not sure that's worth the effort at that point..
>
> Yeah, that could work, but hmm it might cause 2 cache coherency transactions
> anyway even in the fastpath, so it might even be slower than just unlocking
> unconditionally and taking both locks :(
right,..
> > Anyway - I think all this is utterly defeated on CONFIG_PREEMPT by the
> > spin with IRQs enabled logic in kernel/spinlock.c.
> >
> > Making this an -rt only patch...
>
> Hmm, and also on x86 with ticket locks we don't spin with preempt or
> interrupts enabled any more (although we still do of course on other
> architectures)
Aah, we don't do CONFIG_GENERIC_LOCKBREAK anymore?
Does it make sense to make this _double_lock_balance() thing depend on
that too?
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists