Re: [PATCH -v4] x86: MCE: Re-implement MCE log ring buffer as per-CPUring buffer

From: Andi Kleen
Date: Thu Jun 04 2009 - 01:56:22 EST


Huang Ying wrote:
Re-implement MCE log ring buffer as per-CPU ring buffer for better
scalability. Basic design is as follow:

Looks good. Thanks.

Acked-by: Andi Kleen <ak@xxxxxxxxxxxxxxx>


Performance test show that the throughput of per-CPU mcelog buffer can
reach 430k records/s compared with 5.3k records/s for original
implementation on a 2-core 2.1GHz Core2 machine.

I should add the main reason to add the patch is less that performance
(normally there shouldn't be that many errors, so it doesn't matter too much),
but that it scales to a larger number of CPUs. The old mce log ring had a fixed
sized buffer that was hard to extend and didn't scale on larger systems,
which could cause overflows and other issues.
Also this fixes a long standing known livelock in the old code where
a very high continuous error rate could livelock the reader.

-Andi


--
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/