Re: [PATCH 1/4] x86, amd: Avoid cache aliasing penalties on AMDfamily 15h

From: Greg KH
Date: Wed Nov 16 2011 - 18:32:37 EST


On Fri, Nov 04, 2011 at 08:25:32AM -0700, Greg KH wrote:
> On Fri, Nov 04, 2011 at 12:26:32PM +0100, Borislav Petkov wrote:
> > From: Borislav Petkov <borislav.petkov@xxxxxxx>
> >
> > Upstream commit: dfb09f9b7ab03fd367740e541a5caf830ed56726
> >
> > This patch provides performance tuning for the "Bulldozer" CPU. With its
> > shared instruction cache there is a chance of generating an excessive
> > number of cache cross-invalidates when running specific workloads on the
> > cores of a compute module.
> >
> > This excessive amount of cross-invalidations can be observed if cache
> > lines backed by shared physical memory alias in bits [14:12] of their
> > virtual addresses, as those bits are used for the index generation.
> >
> > This patch addresses the issue by clearing all the bits in the [14:12]
> > slice of the file mapping's virtual address at generation time, thus
> > forcing those bits the same for all mappings of a single shared library
> > across processes and, in doing so, avoids instruction cache aliases.
> >
> > It also adds the command line option "align_va_addr=(32|64|on|off)" with
> > which virtual address alignment can be enabled for 32-bit or 64-bit x86
> > individually, or both, or be completely disabled.
> >
> > This change leaves virtual region address allocation on other families
> > and/or vendors unaffected.
> >
> > Signed-off-by: Borislav Petkov <borislav.petkov@xxxxxxx>
> > Link: http://lkml.kernel.org/r/1312550110-24160-2-git-send-email-bp@xxxxxxxxx
> > Signed-off-by: H. Peter Anvin <hpa@xxxxxxxxxxxxxxx>
> > ---
> > Documentation/kernel-parameters.txt | 13 ++++++
> > arch/x86/include/asm/elf.h | 31 +++++++++++++
> > arch/x86/kernel/cpu/amd.c | 13 ++++++
> > arch/x86/kernel/sys_x86_64.c | 81 +++++++++++++++++++++++++++++++++-
> > arch/x86/mm/mmap.c | 15 ------
> > arch/x86/vdso/vma.c | 9 ++++
> > 6 files changed, 144 insertions(+), 18 deletions(-)
>
> I really feel nervous adding this patch to the -stable tree(s). It's
> bigger than "just a bugfix" and it adds new functionality.
>
> I'm aware that it is needed for your new hardware, which is great, but
> it doesn't really follow the Documentation/stable_kernel_rules.txt
> requirements, does it?
>
> I need an ACK from the x86 maintainers before I'm going to be
> comfortable adding this, and then the other, patches in this series.
>
> Peter, Ingo, Thomas, your opinions?

Ping?

anyone?

greg k-h
--
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/