Re: [PATCH -v5][RFC]: mutex: implement adaptive spinning

KAMEZAWA Hiroyuki
2009-01-08T02:19:48Z

On Wed, 7 Jan 2009 15:57:06 -0800 (PST)
Linus Torvalds <torvalds@linux-foundation.org> wrote:

>
>
> On Wed, 7 Jan 2009, Steven Rostedt wrote:
> >
> > Should that be:
> >
> > #if defined(CONFIG_DEBUG_PAGEALLOC) || defined(CONFIG_MEMORY_HOTPLUG)
>
> Well, probably CONFIG_MEMORY_HOTREMOVE, no? And I'd actually suggest that
> unplugging should have a stop-machine if it doesn't already, just because
> it's such a special case - like module removal.
>
I looked memory hotplug code again, then..

1. stop_machine() is not used.
2. x86-64 code doesn't have "unmap physical memory from the kernel space".
(because ia64, my (old) target machine, doesn't need it.)
I'm not sure about powerpc.

I'd like to look into this for x86-64 when I can.

BTW, can I make a quiestion ?
==
if (lock->owner != thread)
break;

/*
* Need to access the cpu field knowing that
* DEBUG_PAGEALLOC could have unmapped it if
* the mutex owner just released it and exited.
*/
if (__get_user(cpu, &thread->cpu))
break;
==
"thread" can be obsolete while lock->owner == thread ?
Isn't this depends on CONFIG_DEBUG_MUTEXES ?

Thanks,
-Kame