[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

  • To: Keir Fraser <keir@xxxxxxx>
  • From: Juergen Gross <juergen.gross@xxxxxxxxxxxxxx>
  • Date: Thu, 22 Mar 2012 12:59:45 +0100
  • Cc: xen-devel@xxxxxxxxxxxxxxxxxxx, Jan Beulich <JBeulich@xxxxxxxx>
  • Delivery-date: Thu, 22 Mar 2012 12:00:07 +0000
  • Domainkey-signature: s=s1536a; d=ts.fujitsu.com; c=nofws; q=dns; h=X-SBRSScore:X-IronPort-AV:Received:X-IronPort-AV: Received:Received:Message-ID:Date:From:Organization: User-Agent:MIME-Version:To:CC:Subject:References: In-Reply-To:Content-Type; b=fuSKijRE6NbYgz7Kp2Fc4QABwCdD/4tJllO6qPi52gk/duIHYAB06Vkp 1ZQT7MkgqTYCrwXUcUfrHd6Naw52RzZIz3n0u0bpgyUhv7oQCPPpmIqAq ArNsg4dcmZArufl9ezHjryhkFsqggmeV9JzUx02MdkDqFRxZ3+1ad+GH/ 7iXwCxqh5iQVkw4JmO6+7vPqyR2FWuvmjtFaHFboG3WhhuOfSDJrZTeKm HNi8okkRoFKxO1+IkVRFS6RMnew0E;
  • List-id: Xen developer discussion <xen-devel.lists.xen.org>

On 03/22/2012 12:20 PM, Keir Fraser wrote:
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. :-)

And it works in all of my test cases for poweroff. :-)

Acked-by: Juergen Gross <juergen.gross@xxxxxxxxxxxxxx>

Thanks, Juergen

 -- Keir


  -- 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 mailing list


_______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel

Juergen Gross                 Principal Developer Operating Systems
PDG ES&S SWE OS6                       Telephone: +49 (0) 89 3222 2967
Fujitsu Technology Solutions              e-mail: juergen.gross@xxxxxxxxxxxxxx
Domagkstr. 28                           Internet: ts.fujitsu.com
D-80807 Muenchen                 Company details: ts.fujitsu.com/imprint.html
Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.