[<prev] [next>] [day] [month] [year] [list]
Message-ID: <52F3A1B4.2010602@numascale.com>
Date: Thu, 06 Feb 2014 22:52:36 +0800
From: Daniel J Blueman <daniel@...ascale.com>
To: Peter Zijlstra <peterz@...radead.org>
CC: LKML <linux-kernel@...r.kernel.org>,
Waiman Long <waiman.long@...com>
Subject: Re: [RFC][PATCH v2 5/5] mutex: Give spinners a chance to spin_on_owner
if need_resched() triggered while queued
On Thursday, 6 February 2014 22:10:01 UTC+8, Peter Zijlstra wrote:
> On Wed, Feb 05, 2014 at 04:44:34PM -0500, Waiman Long wrote:
> > I have an alternative way of breaking out of the MCS lock waiting
queue when
> > need_resched() is set. I overload the locked flag to indicate a
skipped node
> > if negative.
>
> I'm not quite seeing how it works (then again, I've not really read the
> patch carefully).
>
> Suppose you break out; at that point you get queued and go to sleep.
> Suppose you got woken up while you MCS entry is still 'pending' and
> magically win the race and acquire the lock.
>
> At that point your MCS entry can be re-used while its still part of the
> list.
>
> Its a fantastically small race window, but I don't see anything that
> makes it impossible.
>
> > I run the patch through the AIM7 high-systime workload on a
> > 4-socket server and it seemed to run fine.
>
> How do people run this AIM7 piece of shit? I let it run for over an hour
> and it generated exactly 0 numbers, it just sits there eating cpu-time
> and creating a racket from my pantry.
Without any better advice, I was building the OSDL AIM7 [1], tweaking
DISKDIR in data/reaim.config and running (eg on a 384-core setup):
$ src/reaim -c data/reaim.config -f data/workfile.compute -i 16 -e 384
Thanks,
Daniel
[1] http://sourceforge.net/projects/re-aim-7/
--
Daniel J Blueman
Principal Software Engineer, Numascale
--
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