From 7e939abca7446256b59dc5d61e5ac444deb53da5 Mon Sep 17 00:00:00 2001 From: Andrew Cooper Date: Sat, 18 Feb 2023 00:46:49 +0000 Subject: [PATCH] xen: Annotate printk() as cold There is no such thing as a fastpath with a printk() on it, making printk() an excellent heuristic for slowpaths. Net delta is: add/remove: 595/2 grow/shrink: 56/762 up/down: 70879/-87331 (-16452) Total: Before=4085425, After=4068973, chg -0.40% because cold functions are optimised differently. For example, one function with a particularly large swing is: vmcs_dump_vcpu.cold - 2172 +2172 vmcs_dump_vcpu 7030 408 -6622 with a net delta of 7030 down to 4450. Signed-off-by: Andrew Cooper Acked-by: Jan Beulich --- xen/include/xen/lib.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xen/include/xen/lib.h b/xen/include/xen/lib.h index 8eef557dd5..1793be5b6b 100644 --- a/xen/include/xen/lib.h +++ b/xen/include/xen/lib.h @@ -79,7 +79,7 @@ debugtrace_printk(const char *fmt, ...) {} /* Allows us to use '%p' as general-purpose machine-word format char. */ #define _p(_x) ((void *)(unsigned long)(_x)) extern void printk(const char *fmt, ...) - __attribute__ ((format (printf, 1, 2))); + __attribute__ ((format (printf, 1, 2), cold)); #define printk_once(fmt, args...) \ ({ \ -- 2.39.5