[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 2 of 2] Avoid vcpu migration of paused vcpus
On 22/03/2012 10:22, "Juergen Gross" <juergen.gross@xxxxxxxxxxxxxx> wrote: > On 03/22/2012 11:12 AM, Keir Fraser wrote: >> Your original patch didn't touch this code. Was that an omission in the >> original version? On reflection I prefer your original patch to this new >> approach. I'll apply it if you still believe your original patch is complete >> and correct as it stands. > > I like my second patch more :-) > > It covers more cases, not just poweroff. In hibernate case no vcpu pinnings > will be lost. Today all vcpus pinned to a cpu other than 0 will lose their > pinnings at cpu offlining. At reactivation those pinnings will not be > restored automatically. My patch will cover that by checking availability > of the cpus after reactivation. > > Poweroff (which was my primary concern) works with both versions. I did not > test other ACPI state changes with either version, but would expect better > results in hibernate case with my second approach. How about the attached patch? Which is similar to your original patch except I added the global state variable, and I added a check for it to cpu_disable_scheduler(). It's nice and small. :-) -- Keir > > Juergen > >> -- Keir >> >> On 22/03/2012 08:22, "Juergen Gross"<juergen.gross@xxxxxxxxxxxxxx> wrote: >> >>> Currently offlining a cpu will migrate all vcpus which were active on that >>> cpu to another one, possibly breaking existing cpu affinities. >>> >>> In case of an ACPI state change the cpus are taken offline and online later >>> (if not poweroff) while all domains are paused. There is no reason to >>> migrate the vcpus during offlining the cpus, as the cpus will be available >>> again when the domains are being unpaused. >>> >>> This patch defers the migration check in case of paused vcpus or domains >>> by adding vcpu_arouse() to wake up a vcpu and check whether it must be >>> migrated to another cpu. >>> >>> Signed-off-by: Juergen Gross<juergen.gross@xxxxxxxxxxxxxx> >>> >>> >>> 3 files changed, 64 insertions(+), 24 deletions(-) >>> xen/common/domain.c | 4 +- >>> xen/common/schedule.c | 83 >>> ++++++++++++++++++++++++++++++++++------------- >>> xen/include/xen/sched.h | 1 >>> >>> >>> _______________________________________________ >>> Xen-devel mailing list >>> Xen-devel@xxxxxxxxxxxxx >>> http://lists.xen.org/xen-devel >> >> >> _______________________________________________ >> Xen-devel mailing list >> Xen-devel@xxxxxxxxxxxxx >> http://lists.xen.org/xen-devel >> >> > Attachment:
00-suspend-affinities _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |