Messages in this thread | | | From | Daniel Lezcano <> | Subject | [PATCH V2 0/9] genirq/timings: Fixes and selftests | Date | Fri, 24 May 2019 13:16:06 +0200 |
| |
This series provides a couple of fixes, an optimization and the code to do the selftests.
While writing the selftests, a couple of issues were spotted with the circular buffer handling and the routine searching for the pattern multiple times.
In addition, a small optimization has been found while investigating the bugs above.
In order to write the selftest, the routine needed by the core code and the tests are wrapped into function which are always inline so the current code is not impacted by a new function call. There is no functional changes in this part.
Finally, the selftest uses samples to insert values in the arrays and use them to predict the next event. These tests cover the most difficult part of the code.
Changelog:
V2: - remove defaulting to 'n' as it is already the case
Daniel Lezcano (9): genirq/timings: Fix next event index function genirq/timings: Fix timings buffer inspection genirq/timings: Optimize the period detection speed genirq/timings: Use the min kernel macro genirq/timings: Encapsulate timings push genirq/timings: Encapsulate storing function genirq/timings: Add selftest for circular array genirq/timings: Add selftest for irqs circular buffer genirq/timings: Add selftest for next event computation
kernel/irq/Makefile | 3 + kernel/irq/internals.h | 21 +- kernel/irq/timings.c | 458 +++++++++++++++++++++++++++++++++++++---- lib/Kconfig.debug | 8 + 4 files changed, 445 insertions(+), 45 deletions(-)
-- 2.17.1
| |