lkml.org 
[lkml]   [2014]   [Feb]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [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


\
 
 \ /
  Last update: 2014-02-06 17:01    [W:0.034 / U:2.736 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site