Re: [PATCH 1/4] softirq: implement IRQ flood detection mechanism

From: Bart Van Assche
Date: Wed Sep 04 2019 - 15:47:20 EST


On 9/4/19 11:02 AM, Peter Zijlstra wrote:
On Wed, Sep 04, 2019 at 10:38:59AM -0700, Bart Van Assche wrote:
I think it is widely known that rdtsc is a relatively slow x86 instruction.
So I expect that using that instruction will cause a measurable overhead if
it is called frequently enough. I'm not aware of any publicly available
measurement data however.

https://www.agner.org/optimize/instruction_tables.pdf

RDTSC, Ryzen: ~36
RDTSC, Skylake: ~20

Sadly those same tables don't list the cost of actual exceptions or even
IRET :/

Thanks Peter for having looked up these numbers. These numbers are much better than last time I checked. Ming, would CONFIG_IRQ_TIME_ACCOUNTING help your workload?

Does anyone know which CPUs the following text from Documentation/admin-guide/kernel-parameters.txt refers to?

tsc= [ ... ]
[x86] noirqtime: Do not use TSC to do irq accounting.
Used to run time disable IRQ_TIME_ACCOUNTING on any
platforms where RDTSC is slow and this accounting
can add overhead.

Bart.