Re: [PATCH v3 5/9] rv/ha: make da_monitor_reset_hook and EVENT_NONE_LBL overridable

From: Gabriele Monaco

Date: Mon Jun 15 2026 - 06:17:01 EST


On Mon, 2026-06-08 at 00:13 +0800, wen.yang@xxxxxxxxx wrote:
> From: Wen Yang <wen.yang@xxxxxxxxx>
>
> 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 <wen.yang@xxxxxxxxx>
> ---
>  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(struct
> da_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@xxxxxxxxxx>

Thanks,
Gabriele

> +#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