[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] xen: do live patching only from main idle loop
> From: Juergen Gross <jgross@xxxxxxxx> > Sent: Tuesday, February 11, 2020 5:31 PM > > One of the main design goals of core scheduling is to avoid actions > which are not directly related to the domain currently running on a > given cpu or core. Live patching is one of those actions which are > allowed taking place on a cpu only when the idle scheduling unit is > active on that cpu. > > Unfortunately live patching tries to force the cpus into the idle loop > just by raising the schedule softirq, which will no longer be > guaranteed to work with core scheduling active. Additionally there are > still some places in the hypervisor calling check_for_livepatch_work() > without being in the idle loop. > > It is easy to force a cpu into the main idle loop by scheduling a > tasklet on it. So switch live patching to use tasklets for switching to > idle and raising scheduling events. Additionally the calls of > check_for_livepatch_work() outside the main idle loop can be dropped. > > As tasklets are only running on idle vcpus and stop_machine_run() > is activating tasklets on all cpus but the one it has been called on > to rendezvous, it is mandatory for stop_machine_run() to be called on > an idle vcpu, too, as otherwise there is no way for scheduling to > activate the idle vcpu for the tasklet on the sibling of the cpu > stop_machine_run() has been called on. > > Signed-off-by: Juergen Gross <jgross@xxxxxxxx> Reviewed-by: Kevin Tian <kevin.tian@xxxxxxxxx> _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |