Re: [PATCH v3 5/9] rv/ha: make da_monitor_reset_hook and EVENT_NONE_LBL overridable
From: Gabriele Monaco <gmonaco@redhat.com>
Date: 2026-06-15 10:16:51
Also in:
lkml
On Mon, 2026-06-08 at 00:13 +0800, wen.yang@linux.dev wrote:
quoted hunk ↗ jump to hunk
From: Wen Yang <redacted> Wrap the two definitions with #ifndef guards so that HA-based monitors can substitute their own implementations before including this header: /* in monitor.c, before #include <rv/ha_monitor.h> */ #define da_monitor_reset_hook my_monitor_reset_env #define EVENT_NONE_LBL "idle" No behaviour change for monitors that do not override either macro. Signed-off-by: Wen Yang <redacted> --- include/rv/ha_monitor.h | 5 +++++ 1 file changed, 5 insertions(+)diff --git a/include/rv/ha_monitor.h b/include/rv/ha_monitor.h index e5860900a337..610da54c111f 100644 --- a/include/rv/ha_monitor.h +++ b/include/rv/ha_monitor.h@@ -36,7 +36,10 @@ static bool ha_monitor_handle_constraint(structda_monitor *da_mon, da_id_type id); #define da_monitor_event_hook ha_monitor_handle_constraint #define da_monitor_init_hook ha_monitor_init_env +/* Allow monitors to override da_monitor_reset_hook before including this header. */
Just a nit: users can do that but shouldn't do it mindlessly, so let's add a line like: "Make sure you still call ha_monitor_reset_env() or reset timers otherwise." Other than that looks good Reviewed-by: Gabriele Monaco <gmonaco@redhat.com> Thanks, Gabriele
quoted hunk ↗ jump to hunk
+#ifndef da_monitor_reset_hook #define da_monitor_reset_hook ha_monitor_reset_env +#endif #define da_monitor_sync_hook() synchronize_rcu() #if !defined(HA_SKIP_AUTO_CLEANUP) && RV_MON_TYPE == RV_MON_PER_TASK@@ -75,7 +78,9 @@ _Static_assert(offsetof(struct ha_monitor, da_mon)== 0, #define ENV_INVALID_VALUE U64_MAX /* Error with no event occurs only on timeouts */ #define EVENT_NONE EVENT_MAX +#ifndef EVENT_NONE_LBL #define EVENT_NONE_LBL "none" +#endif #define ENV_BUFFER_SIZE 64 #ifdef CONFIG_RV_REACTORS