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

Gerd Hoffmann
2006-06-16T07:23:42Z

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@suse.de>