From 6c81f5a2493ff65b4dacfef45db8a1ee459a738f Mon Sep 17 00:00:00 2001 From: Tom Seidenberg Date: Fri, 10 Jul 2020 15:49:03 +0000 Subject: misc: add callback hooks and refactor pmc Callbacks for monitoring and performance measurement: - Add new callback list type, with context - Add callbacks for API, CLI, and barrier sync - Modify node dispatch callback to pass plugin-specific context - Modify perfmon plugin to keep PMC samples local to the plugin - Include process nodes in dispatch callback - Pass dispatch function return value to callback Type: refactor Signed-off-by: Tom Seidenberg Change-Id: I28b06c58490611e08d76ff5b01b2347ba2109b22 --- src/vppinfra/callback.h | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'src/vppinfra/callback.h') diff --git a/src/vppinfra/callback.h b/src/vppinfra/callback.h index 595d69d72ab..a938ea326c9 100644 --- a/src/vppinfra/callback.h +++ b/src/vppinfra/callback.h @@ -70,12 +70,11 @@ do { \ * Note: fp exists to shut up gcc-6, which \ * produces a warning not seen with gcc-7 or 8 \ */ \ - void (*fp)(void *a1, ...); \ + typeof (h) h_ = (h); \ int i; \ - for (i = 0; i < vec_len (h); i++) \ + for (i = 0; i < vec_len (h_); i++) \ { \ - fp = (void *)(h[i]); \ - (*fp) (__VA_ARGS__); \ + (h_[i]) (__VA_ARGS__); \ } \ } while (0); -- cgit 1.2.3-korg