From: Ryan Harper <ryanh@us.ibm.com>
To: Ian Pratt <m+Ian.Pratt@cl.cam.ac.uk>
Cc: 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 12:41:59 -0500 [thread overview]
Message-ID: <20050414174159.GI27571@us.ibm.com> (raw)
In-Reply-To: <A95E2296287EAD4EB592B5DEEFCE0E9D1E3B81@liverpoolst.ad.cl.cam.ac.uk>
* Ian Pratt <m+Ian.Pratt@cl.cam.ac.uk> [2005-04-14 11:58]:
> > > "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?
>
> I see having this as a pre-requisite for any fancy new scheduler (or as
> a first step, CPU load ballancer). Without it, I think it'll be
> scheduling anarchy :-)
OK. Makes sense, that sounds like I separate patch. I was thinking a
u32 bitmap, but that doesn't give us the -1, run-anywhere. Maybe
EDF_USEPINMAP and a u32 bitmap. if EDF_USEPINMAP is set, then the
balancer/scheduler looks at the bitmap to see on which cpus the vcpu can
run, if it is not set, the vcpu can run anywhere.
> > > 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
> >
> > That look sane?
>
> Yep, that's what I'm thinking. I think its probably worth squeezing out
> unsused levels of hierarchy, e.g. just having SOCKET.THREAD in the above
OK. I'll see how the implementation looks when I'm done. It sounds
nice though.
> example. Keeping it pretty generic makes sense too. E.g. imagine a big
> ccNUMA system with a 'node' level above that of the actual CPU socket.
Sure, I'll look at the Linux cpu groups stuff and the Linux topology
code to see if there is anything like this there.
--
Ryan Harper
Software Engineer; Linux Technology Center
IBM Corp., Austin, Tx
(512) 838-9253 T/L: 678-9253
ryanh@us.ibm.com
next prev parent reply other threads:[~2005-04-14 17:41 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-04-14 16:57 [PATCH] xen, tools/python/xen: pincpu support vcpus, add vcpu to cpu map Ian Pratt
2005-04-14 17:41 ` Ryan Harper [this message]
-- strict thread matches above, loose matches on Subject: below --
2005-04-14 19:23 [PATCH] xen, tools/python/xen: pincpu support, " Ian Pratt
2005-04-14 19:33 ` Andrew Theurer
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
[not found] <E1DM7eW-0002zR-9S@host-192-168-0-1-bcn-london>
2005-04-14 17:34 ` [PATCH] xen, tools/python/xen: pincpu support, " Sam Gill
2005-04-14 17:51 ` Ryan Harper
2005-04-14 17:55 ` Mark Williamson
2005-04-14 18:40 ` Sam Gill
2005-04-14 15:49 [PATCH] xen, tools/python/xen: pincpu support " 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=20050414174159.GI27571@us.ibm.com \
--to=ryanh@us.ibm.com \
--cc=m+Ian.Pratt@cl.cam.ac.uk \
--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.