Re: FOR REVIEW: New x86-64 vsyscall vgetcpu()

From: Gerd Hoffmann
Date: Fri Jun 16 2006 - 03:24:28 EST


Andi Kleen wrote:
>> Alternatively it means that this will almost always do the right thing, but
>> once in a while it won't, your application will happen to have been migrated
>> to a different cpu/node at the point it makes the call, and from then on
>> this instance will behave oddly (running slowly because it allocates most
>> of its memory on the wrong node). When you try to reproduce the problem,
>> the application will work normally.
>
> That's inherent in NUMA. No good way around that.

Hmm, maybe it makes sense to allow binding memory areas to threads
instead of nodes. That way the kernel may attempt to migrate the pages
to another node in case it migrates threads / processes. Either via
mbind(), or maybe better via madvise() to make clear it's a hint only.

cheers,

Gerd

--
Gerd Hoffmann <kraxel@xxxxxxx>
http://www.suse.de/~kraxel/julika-dora.jpeg
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/