On Wed, 1 Apr 2015, Borislav Petkov wrote: > > > From: Jiri Kosina <jkosina@xxxxxxx> > > > > > > Since GHES sources are global, we theoretically need only a single CPU > > > reading them per NMI instead of a thundering herd of CPUs waiting on a > > > spinlock in NMI context for no reason at all. > > > > I originally wasn't 100% sure whether GHES sources are global (i.e. if it > > really doesn't matter which CPU is reading the registers), but looking at > > the code more it actually seems that this is really the right thing to do. > > > > Rationale: ghes_ioremap_pfn_nmi() always ioremaps() (exclusively) the page > > with the registers, performs apei_read() (which is ghes-source specific, > > but not CPU-specific) and unmaps the page again. > > > > There is nothing that would make this CPU-specific. Adding Huang Ying (the > > original author of the code) to confirm this. Huang? > > > > > Do that. > > > > I think this should indeed be pushed forward. It fixes horrible spinlock > > contention on systems which are under NMI storm (such as when perf is > > active) unrelated to GHES. > > Right, so I tested injecting an error without your patch and same > behavior. So it all points at global sources AFAICT. It would be cool, > though, if someone who knows the fw confirms unambiguously. Three weeks have passed, therefore I find this an appropriate time for a friendly ping :) Rafael? Naoya? Huang? This fixes a contention spinlock problem in NMI observed on a real HW, so it would be really nice to have it fixed. Thanks, -- Jiri Kosina SUSE Labs -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html