Messages in this thread | | | From | Josh Don <> | Date | Mon, 28 Nov 2022 17:32:15 -0800 | Subject | Re: [PATCH v3] sched: async unthrottling for cfs bandwidth |
| |
> @@ -1686,7 +1698,17 @@ static void __run_hrtimer(struct hrtimer_cpu_base *cpu_base, > > lockdep_hrtimer_exit(expires_in_hardirq); > trace_hrtimer_expire_exit(timer); > - raw_spin_lock_irq(&cpu_base->lock); > + > + local_irq_disable(); > + > + if (restart >= HRTIMER_RESTART_MIGRATE) { > + int cpu = restart - HRTIMER_RESTART_MIGRATE;
I know this is just a rough draft, but just noting that this wants a check against MIGRATE_MAX :)
> + if (new_cpu_base != cpu_base) { > + timer->base = new_base; > + enqueue_hrtimer(timer, new_base, HRTIMER_MODE_ABS); > + raw_spin_unlock(&new_cpu_base->lock);
unlock the old base->lock right?
| |