Re: [PATCH 5/5] rv: Add rts monitor
From: Gabriele Monaco
Date: Thu Jul 31 2025 - 03:47:29 EST
On Wed, 2025-07-30 at 14:45 +0200, Nam Cao wrote:
> Add "real-time scheduling" monitor, which validates that SCHED_RR and
> SCHED_FIFO tasks are scheduled before tasks with normal and
> extensible
> scheduling policies
>
Looks a very interesting monitor!
A few questions:
I assume this works with rt-throttle because it implies a dequeue,
right?
And you probably won't see that without explicit tracepoints..
> + /*
> + * This may not be accurate, there may be enqueued RT tasks.
> But
> that's
> + * okay, the worst we get is a false negative. It will be
> accurate
> as
> + * soon as the CPU no longer has any queued RT task.
> + */
> + ltl_atom_set(mon, LTL_RT_TASK_ENQUEUED, false);
>
As far as I understand here the monitor would just miss RT tasks
already running but would perfectly enforce the ones starting after
initialisation, right?
> +RULE = always (RT_TASK_ENQUEUED imply SCHEDULE_RT_NEXT)
> +
> +SCHEDULE_RT_NEXT = (not SCHED_SWITCH) until (SCHED_SWITCH_RT or
> EXCEPTIONS)
> +
> +EXCEPTIONS = SCHED_SWITCH_DL or not RT_TASK_ENQUEUED
This monitor allows non-RT tasks to run indefinitely before the switch,
only when it happens, RT must run, right?
Not sure you can do much about it though. (without falling into the
need resched rabbithole I was trying to untangle)
Thanks,
Gabriele