Re: [PATCH 1/1] x86_64: add config options to optimize for newer AMDprocessors

From: Borislav Petkov
Date: Thu Oct 03 2013 - 14:28:54 EST


On Thu, Oct 03, 2013 at 02:12:07PM -0400, Austin S Hemmelgarn wrote:
> Part of the difference between our results may be that I have my
> entire userspace built with -mtune=bdver2, so less of the time is
> spent in userspace.

That still cannot explain the huge difference between building on a
mk8 vs bdver2 kernel. Provided your userspace is the same and only the
kernels are different, I don't see how that happens.

Btw, you could run my workload on your machine, once on an mk8 kernel
and once on a bdver2 one.

The contents of the pre-build-kernel.sh script are:

--
#!/bin/bash

make -s clean
echo 3 > /proc/sys/vm/drop_caches
--

Of course, you need to run this as root.

> Also, the part about using many more threads than cpu cores was with
> regards to sysbench, not the kernel build, for that I just used 8 jobs
> in make.

Overcommitting gcc threads does not bring a really a big difference with
a kernel build.

> With regards to the differences shown above relative to CONFIG_MK8,
> that does actually make sense; with CONFIG_MK8, gcc makes very minimal
> use of extension instructions (afaik, only MMX, SSE, and 3Dnow!), this
> improves performance slightly on bulldozer derivatives because there
> are only half as many SSE and FP units as CPU cores (and the

yes, the FPU is shared between the cores of a compute unit on BD.

> scheduler isn't as smart as it could be with regards to that, but that
> is something for another patch as far as I am concerned).

Again, with unchanging userspace and only differing kernels, you
shouldn't be seeing such a big difference. Besides, the kernel itself
makes very little, if at all, use of FPU instructions.

--
Regards/Gruss,
Boris.

Sent from a fat crate under my desk. Formatting is fine.
--
--
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/