mirror of
https://github.com/torvalds/linux.git
synced 2024-12-24 11:51:27 +00:00
c49f63530b
Knowing how long we spend in firmware calls is an important part of minimising OS jitter. This patch adds tracepoints to each OPAL call. If tracepoints are enabled we branch out to a common routine that calls an entry and exit tracepoint. This allows us to write tools that monitor the frequency and duration of OPAL calls, eg: name count total(ms) min(ms) max(ms) avg(ms) period(ms) OPAL_HANDLE_INTERRUPT 5 0.199 0.037 0.042 0.040 12547.545 OPAL_POLL_EVENTS 204 2.590 0.012 0.036 0.013 2264.899 OPAL_PCI_MSI_EOI 2830 3.066 0.001 0.005 0.001 81.166 We use jump labels if configured, which means we only add a single nop instruction to every OPAL call when the tracepoints are disabled. Signed-off-by: Anton Blanchard <anton@samba.org> Acked-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
12 lines
499 B
Makefile
12 lines
499 B
Makefile
obj-y += setup.o opal-wrappers.o opal.o opal-async.o
|
|
obj-y += opal-rtc.o opal-nvram.o opal-lpc.o opal-flash.o
|
|
obj-y += rng.o opal-elog.o opal-dump.o opal-sysparam.o opal-sensor.o
|
|
obj-y += opal-msglog.o
|
|
|
|
obj-$(CONFIG_SMP) += smp.o subcore.o subcore-asm.o
|
|
obj-$(CONFIG_PCI) += pci.o pci-p5ioc2.o pci-ioda.o
|
|
obj-$(CONFIG_EEH) += eeh-ioda.o eeh-powernv.o
|
|
obj-$(CONFIG_PPC_SCOM) += opal-xscom.o
|
|
obj-$(CONFIG_MEMORY_FAILURE) += opal-memory-errors.o
|
|
obj-$(CONFIG_TRACEPOINTS) += opal-tracepoints.o
|