Re: NUMA emulation x86_64: numa=fake parameter for custom nodesdistance

From: Petr Holasek
Date: Mon Nov 21 2011 - 15:41:59 EST


On Sat, 19 Nov 2011, David Rientjes wrote:

> Date: Sat, 19 Nov 2011 18:09:59 -0800 (PST)
> From: David Rientjes <rientjes@xxxxxxxxxx>
> To: Petr Holasek <pholasek@xxxxxxxxxx>
> cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>, Thomas Gleixner
> <tglx@xxxxxxxxxxxxx>, Ingo Molnar <mingo@xxxxxxxxxx>, "H. Peter Anvin"
> <hpa@xxxxxxxxx>, linux-kernel@xxxxxxxxxxxxxxx, x86@xxxxxxxxxx, Anton
> Arapov <anton@xxxxxxxxxx>
> Subject: Re: NUMA emulation x86_64: numa=fake parameter for custom nodes
> distance
>
> On Sat, 19 Nov 2011, Petr Holasek wrote:
>
> > A lot of developers still have no access to large NUMA machines and
> > possibility of NUMA emulation could involve more of them to thinking
> > about NUMA awareness of their apps/kernel code.
> >
>
> That's a bogus argument, numa=fake already allows you to construct as
> large of a NUMA box as you want in a faked environment. The distances
> have nothing to do with that.
>
> The distances you're adding here are, by definition, incorrect because it
> doesn't respect the actual distance between physical nodes that numa=fake
> uses already. If you're using numa=fake on an UMA machine, then the
> performance of the kernel will be just that, you won't actual see any
> introduced latency between fake nodes just by changing the distance. So
> you're completely invalidating what internode distances actually mean.
>
> I'd much rather see an option to fake the SLIT that could do all of this
> without limitation and would be possible to debug issues in the future.

This patch was designed as nothing more than helper for debugging/testing
purposes, e.g. when it is useful to have more values in exports than only
LOCAL_DISTANCEs. So that's the reason why it disregards former distances
between physical nodes.

Faking the SLIT table is a really good point, if this patch would be
eventually rejected, I will rework the patch in that manner.
--
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/