With the development of arm gic architecture, we think it will be useful to add some performance test in kut to measure the cost of interrupts. In this series, we add GICv4.1 support for ipi latency test and implement LPI/vtimer latency test. This series of patches has been tested on GICv4.1 supported hardware. Note: Based on patch "arm/arm64: timer: Extract irqs at setup time", https://www.spinics.net/lists/kvm-arm/msg41425.html * From v2: - Code and commit message cleanup - Clear nr_ipi_received before ipi_exec() thanks for Tao Zeng's review - rebase the patch "Add vtimer latency test" on Andrew's patch - Add test->post() to get actual PPI latency * From v1: - Fix spelling mistake - Use the existing interface to inject hw sgi to simply the logic - Add two separate patches to limit the running times and time cost of each individual micro-bench test Jingyi Wang (10): arm64: microbench: get correct ipi received num arm64: microbench: Generalize ipi test names arm64: microbench: gic: Add ipi latency test for gicv4.1 support kvm arm64: its: Handle its command queue wrapping arm64: microbench: its: Add LPI latency test arm64: microbench: Allow each test to specify its running times arm64: microbench: Add time limit for each individual test arm64: microbench: Add vtimer latency test arm64: microbench: Add test->post() to further process test results arm64: microbench: Add timer_post() to get actual PPI latency arm/micro-bench.c | 256 ++++++++++++++++++++++++++++++------- lib/arm/asm/gic-v3.h | 3 + lib/arm/asm/gic.h | 1 + lib/arm64/gic-v3-its-cmd.c | 3 +- 4 files changed, 219 insertions(+), 44 deletions(-) -- 2.19.1