Fix issues that were reported by bots or visible only after integration: * Make sure timers are always terminated and waited for when disabling the monitor or when the target terminates * Run per-cpu monitors with migration disabled since preemption is now enabled from tracepoints * Fix a wrong __user specifier in a helper function * Other cleanup and concurrency issues
Differences since V2 [1]: * Applied from reviews changes to commit messages * Rearranged order to put non-fixes and not-reviewed patches in the end * Synchronise monitors before resetting them to avoid rearming * Protect against racing timer callbacks during destruction Differences since V1 [2]: * Fix memory consistency with timer callbacks racing with resets * Add per-obj deallocation hook in rvgen generated code * Do not rely on clean monitor when initialising HA * Add tracepoint synchronisation before returning per-task slots * Fix suffix strip in dot2k * Generate stub deallocation hooks instead of failing build when per-obj miss those [1] - https://lore.kernel.org/lkml/[email protected] [2] - https://lore.kernel.org/lkml/[email protected] Cc: Steven Rostedt <[email protected]> Cc: Nam Cao <[email protected]> Cc: Wen Yang <[email protected]> Cc: [email protected] Gabriele Monaco (12): rv: Fix __user specifier usage in extract_params() rv: Reset per-task DA monitors before releasing the slot rv: Prevent in-flight per-task handlers from using invalid slots rv: Ensure all pending probes terminate on per-obj monitor destroy rv: Do not rely on clean monitor when initialising HA rv: Add automatic cleanup handlers for per-task HA monitors rv: Ensure synchronous cleanup for HA monitors rv: Prevent task migration while handling per-CPU events rv: Use 0 to check preemption enabled in opid verification/rvgen: Fix suffix strip in dot2k rv: Fix read_lock scope in per-task DA cleanup verification/rvgen: Generate cleanup hook for per-obj monitor Wen Yang (1): rv: Fix monitor start ordering and memory ordering for monitoring flag include/rv/da_monitor.h | 67 ++++++++--- include/rv/ha_monitor.h | 104 +++++++++++++++++- include/rv/ltl_monitor.h | 1 + kernel/trace/rv/monitors/deadline/deadline.h | 3 +- kernel/trace/rv/monitors/nomiss/nomiss.c | 4 +- kernel/trace/rv/monitors/opid/opid.c | 12 +- kernel/trace/rv/monitors/stall/stall.c | 4 +- tools/verification/rvgen/rvgen/dot2k.py | 19 +++- .../rvgen/rvgen/templates/dot2k/main.c | 4 +- 9 files changed, 180 insertions(+), 38 deletions(-) base-commit: 8fde5d1d47f69db6082dfa34500c27f8485389a5 -- 2.54.0
