Gabriele Monaco <[email protected]> writes:
> On Mon, 2026-05-11 at 13:55 +0200, Nam Cao wrote:
>> That can work, but not ideal, because hrtimer will not be usable.
>
> Why not? If we have HA_TIMER_WHEEL , we'd use timer and expire, if we have
> HA_TIMER_HRTIMER we'd only need hrtimer with it's hrtimer_get_expires():
>
>  union {
>  struct hrtimer hrtimer;
>  struct {
>  struct timer_list timer;
>  u64 expire; /* Explicitly store the armed budget */
>  };
>
> we already can't use timer and hrtimer interchangeably.
> What am I missing here?

Ah, now I understand the trick, thanks.

We already have an "expires" field in struct timer_list. But I am not
sure if we are supposed to touch that field. Your proposal looks safer.

>> Looking at the throttle monitor again, is it possible to rewrite
>> runtime_left_ns() to read .dl_runtime instead of .runtime? I don't know
>> the deadline schedule very well, but I think .dl_runtime is not changing
>> like .runtime?
>
> In theory yes, but since the runtime is consumed only when running, we cannot
> just set the timeout once. We either save how much was consumed somewhere or 
> do
> some start/pause mechanism.
> Neither looks simpler to me.

Understood.

Nam

Reply via email to