@@ -444,6 +444,9 @@ CONFIG_NVRAM note<'LP: #1837726'>
CONFIG_N_GSM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}>
CONFIG_N_GSM note<'LP: #1404670'>
+CONFIG_OSNOISE_TRACER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}>
+CONFIG_OSNOISE_TRACER note<'This enables the osnoise tracer for the kernel. LP: #2018591'>
+
CONFIG_PAGE_POISONING policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}>
CONFIG_PAGE_POISONING note<'LP: #1783651'>
@@ -657,6 +660,9 @@ CONFIG_TCG_TPM note<'needed for early validatio
CONFIG_TEST_BLACKHOLE_DEV policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}>
CONFIG_TEST_BLACKHOLE_DEV note<'Used by net selftests'>
+CONFIG_TIMERLAT_TRACER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}>
+CONFIG_TIMERLAT_TRACER note<'This enables the osnoise tracer for the kernel. LP: #2018591'>
+
CONFIG_TMPFS_POSIX_ACL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}>
CONFIG_TMPFS_POSIX_ACL note<'some /dev nodes require POSIX ACLs, like /dev/dsp'>
@@ -8950,7 +8956,6 @@ CONFIG_ORION_IRQCHIP policy<{'armhf': 'y'}>
CONFIG_ORION_TIMER policy<{'armhf': 'y'}>
CONFIG_ORION_WATCHDOG policy<{'armhf': 'm'}>
CONFIG_OSF_PARTITION policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}>
-CONFIG_OSNOISE_TRACER policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}>
CONFIG_OUTER_CACHE policy<{'armhf': 'y'}>
CONFIG_OUTER_CACHE_SYNC policy<{'armhf': 'y'}>
CONFIG_OUTPUT_FORMAT policy<{'amd64': '"elf64-x86-64"'}>
@@ -13084,7 +13089,6 @@ CONFIG_TIFM_CORE policy<{'amd64': 'm', 'arm64': '
CONFIG_TIGON3 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}>
CONFIG_TIGON3_HWMON policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}>
CONFIG_TIMERFD policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}>
-CONFIG_TIMERLAT_TRACER policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}>
CONFIG_TIMER_ACPI policy<{'arm64': 'y'}>
CONFIG_TIMER_IMX_SYS_CTR policy<{'arm64': 'y'}>
CONFIG_TIMER_OF policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}>
BugLink: https://bugs.launchpad.net/bugs/2018591 Enable these two configs to allow the use of the osnoise and timerlat tracers. The osnoise tracer leverages the hwlat_detector by running a similar loop with preemption, SoftIRQs and IRQs enabled, thus allowing all the sources of osnoise during its execution. The osnoise tracer takes note of the entry and exit point of any source of interferences, increasing a per-cpu interference counter. It saves an interference counter for each source of interference. The interference counter for NMI, IRQs, SoftIRQs, and threads is increased anytime the tool observes these interferences' entry events. When a noise happens without any interference from the operating system level, the hardware noise counter increases, pointing to a hardware-related noise. In this way, osnoise can account for any source of interference. At the end of the period, the osnoise tracer prints the sum of all noise, the max single noise, the percentage of CPU available for the thread, and the counters for the noise sources. The timerlat tracer creates a per-cpu kernel thread with real-time priority. The tracer thread sets a periodic timer to wakeup itself, and goes to sleep waiting for the timer to fire. At the wakeup, the thread then computes a wakeup latency value as the difference between the current time and the absolute time that the timer was set to expire. Signed-off-by: Joseph Salisbury <joseph.salisbury@canonical.com> --- debian.master/config/annotations | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-)