[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH] cpupools: retry cpupool-destroy if domain in cpupool is dying


  • To: George Dunlap <George.Dunlap@xxxxxxxxxxxxx>
  • From: Juergen Gross <juergen.gross@xxxxxxxxxxxxxx>
  • Date: Fri, 09 May 2014 07:01:54 +0200
  • Cc: "xen-devel@xxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxx>
  • Delivery-date: Fri, 09 May 2014 05:02:34 +0000
  • Domainkey-signature: s=s1536a; d=ts.fujitsu.com; c=nofws; q=dns; h=X-SBRSScore:X-IronPort-AV:Received:X-IronPort-AV: Received:Message-ID:Date:From:Organization:User-Agent: MIME-Version:To:CC:Subject:References:In-Reply-To: Content-Type:Content-Transfer-Encoding; b=TSB5qZdDEoVGkmoKavxNLhFCVCFO3EMBeH6QfMM/rjmZpj4sjGs+edju nVu6R+AsqeO/umdrIZqC1zOJcO65njvHw3L1S45u4Ol8OIuTePGa6VpNd oW9eazhrV7/TYZA7rCOtPmM2b9AW19HLoJAXdsx9Q06y/6HOS4rEXBafl eNfNhMeCv+HhzTYwJTL4BSdqeIpsD4vOvjuWbnCGhnHrsKZHvZrpKH5aF mVBKh1UaPzzBrezXX0us/PdDWKLRo;
  • List-id: Xen developer discussion <xen-devel.lists.xen.org>

On 08.05.2014 17:10, George Dunlap wrote:
On Wed, May 7, 2014 at 2:23 PM, Juergen Gross
<juergen.gross@xxxxxxxxxxxxxx> wrote:
On 07.05.2014 15:10, George Dunlap wrote:

On Wed, May 7, 2014 at 8:52 AM, Juergen Gross
<juergen.gross@xxxxxxxxxxxxxx> wrote:

When a cpupool is destroyed just after the last domain has been stopped
the
domain might already be removed from the cpupool without having
decremented
the domain count of the cpupool. This will result in rejection of the
cpupool-destroy operation.


I'm a bit confused.  What's the sched_move_domain() for, then?  If
we're going to handle "dying domains" by doing a retry, could we just
get rid of it?


The sched_move_domain() is still needed for cases where a domain stays
dying for a longer time, e.g. when a dom0 process is still referencing
some of it's memory pages. This may be a rare situation, but being unable
to use a physical cpu for another cpupool just because of this case is
worse than this little piece of code, IMO.

And I take it there are times when the move fails for whatever reason?

ENOMEM for example.

Could you add a comment explaining this above the for() loop then, for
posterity?

Could you define 'this', please? The reason for the sched_move_domain()
is mentioned in the head comment of the function (zombie domains). The
possibility of a failing sched_move_domain() is obvious by the return
value checking.


Juergen

--
Juergen Gross                 Principal Developer Operating Systems
PSO PM&D ES&S SWE OS6                  Telephone: +49 (0) 89 62060 2932
Fujitsu                                   e-mail: juergen.gross@xxxxxxxxxxxxxx
Mies-van-der-Rohe-Str. 8                Internet: ts.fujitsu.com
D-80807 Muenchen                 Company details: ts.fujitsu.com/imprint.html

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


 


Rackspace

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