All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sam Gill <samg@seven4sky.com>
To: xen-devel@lists.xensource.com
Subject: Re: [PATCH] xen, tools/python/xen: pincpu support, vcpus, add vcpu to cpu map
Date: Thu, 14 Apr 2005 10:34:15 -0700	[thread overview]
Message-ID: <425EA997.8060409@seven4sky.com> (raw)
In-Reply-To: <E1DM7eW-0002zR-9S@host-192-168-0-1-bcn-london>


[-- Attachment #1.1: Type: text/plain, Size: 3880 bytes --]

Message: 6
Date: Thu, 14 Apr 2005 11:24:07 -0500
From: Ryan Harper <ryanh@us.ibm.com>
Subject: Re: [Xen-devel] [PATCH] xen, tools/python/xen: pincpu support
	vcpus,	add vcpu to cpu map
To: Ian Pratt <m+Ian.Pratt@cl.cam.ac.uk>
Cc: Ryan Harper <ryanh@us.ibm.com>, xen-devel@lists.xensource.com
Message-ID: <20050414162407.GG27571@us.ibm.com>
Content-Type: text/plain; charset=us-ascii

* Ian Pratt <m+Ian.Pratt@cl.cam.ac.uk> [2005-04-14 10:50]:

>>> > The following patch updates the dom0 pincpu operation to read 
>>> > the VCPU value from the xend interface rather than 
>>> > hard-coding the exec_domain to 0.  This prevented pinning 
>>> > VCPUS other than 0 to a particular cpu.  I added the number 
>>> > of VCPUS to the main xm list output and also included a new 
>>> > sub-option to xm list to display the VCPU to CPU mapping.  
>>> > While working on the pincpu code, I fixed an out-of-bounds 
>>> > indexing for the pincpu operation that wasn't previously 
>>> > exposed since the vcpu/exec_domain value was hard-coded to 0.
>>    
>>
>> 
>> Ryan, good progress, but I'd like to propose a couple of extentions:
>> 
>> It would be useful if you could update it so that pincpu enabled you to
>> specify a set of physical CPUs for each VCPU e.g.
>> 
>> "xm pincpu mydom 1 2,4-6" which would allow VCPU 1 of mydom to run on
>> CPUs 2,4 and 5 but no others. -1 would still mean "run anywhere". Having
>> this functionality is really important before we can implement any kind
>> of CPU load ballancer.
>  
>

> Interesting idea.  I don't see anything in the schedulers that would
> take advantage of that sort of definition.  AFAIK, exec_domains are
> never migrated unless told to do so via pincpu.  Does the new scheduler
> do this?  Or is this more of setting up the rules that the load balancer
> would query to find out where it can migrate vcpus?


>> Secondly, I think it would be really good if we could have some
>> hierarchy in CPU names. Imagine a 4 socket system with dual core hyper
>> threaded CPUs. It would be nice to be able to specify the 3rd socket,
>> 1st core, 2nd hyperthread as CPU "2.0.1".
>> 
>> Where we're on a system without one of the levels of hierarchy, we just
>> miss it off. E.g. a current SMP Xeon box would be "x.y". This would be
>> much less confusing than the current scalar representation.
>  
>
 > I like the idea of being able to specify "where" the vcpu runs more
 > explicitly than 'cpu 0', which does not give any indication of physical
 > cpu characteristics. We would probably need to still provide a simple
 > mapping, but allow the pincpu interface to support a more specific
 > target as well as the more generic.

> 2-way hyperthreaded box:
> CPU     SOCKET.CORE.THREAD
> 0       0.0.0
> 1       0.0.1
> 2       1.0.0
> 3       1.0.1


Just my opinion, but for end users, and people who are going to have to 
configure this
whole system, it would be a far greater impact to just develop a simple 
tool that just shows
you how many cpus you have to work with. (also a debugging tool, to see 
if your cpus are registering)

such as "xm pincpu-show" and "xm pincpu-show-details" for a more verbose 
listing

and once you developed the function that could return those values, you 
could use that function
to map different domains to different cpus, or different cpus to 
different domains.

Then the next step would be creating some helper functions "xm 
pincpu-add" so you could add a cpu to
a domain, or "xm pincpu-move" to move a cpu from one domain to another. 
In addition you could have
"xm pincpu-lock"/"xm pincpu-unlock" which would only allow one single 
domain to access that cpu.

I am just thinking that maybe if you detail (if you have already not 
done so) what you want the end result to
be, than it might be easier to figure out how to implement the lower 
level functions more efficiently.

Thanks,
 Sam Gill



[-- Attachment #1.2: Type: text/html, Size: 6112 bytes --]

[-- Attachment #2: Type: text/plain, Size: 138 bytes --]

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel

       reply	other threads:[~2005-04-14 17:34 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <E1DM7eW-0002zR-9S@host-192-168-0-1-bcn-london>
2005-04-14 17:34 ` Sam Gill [this message]
2005-04-14 17:51   ` [PATCH] xen, tools/python/xen: pincpu support, vcpus, add vcpu to cpu map Ryan Harper
2005-04-14 17:55     ` Mark Williamson
2005-04-14 18:40       ` Sam Gill
2005-04-14 19:23 Ian Pratt
2005-04-14 19:33 ` Andrew Theurer
  -- strict thread matches above, loose matches on Subject: below --
2005-04-14 19:00 Ian Pratt
2005-04-14 19:07 ` Andrew Theurer
2005-04-14 18:28 [PATCH] xen, tools/python/xen: pincpu support " Ian Pratt
2005-04-14 16:57 Ian Pratt
2005-04-14 17:41 ` Ryan Harper
2005-04-14 15:49 Ian Pratt
2005-04-14 16:24 ` Ryan Harper
2005-04-14 15:29 Ryan Harper

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=425EA997.8060409@seven4sky.com \
    --to=samg@seven4sky.com \
    --cc=xen-devel@lists.xensource.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.