From: Ryan Harper <ryanh@us.ibm.com>
To: Ian Pratt <m+Ian.Pratt@cl.cam.ac.uk>
Cc: xen-devel@lists.xensource.com,
Bryan Rosenburg <rosnbrg@us.ibm.com>,
Michael Hohnbaum <hohnbaum@us.ibm.com>,
Orran Krieger <okrieg@us.ibm.com>, Ryan Harper <ryanh@us.ibm.com>
Subject: Re: [PATCH] Yield to VCPU hcall, spinlock yielding
Date: Fri, 3 Jun 2005 17:52:18 -0500 [thread overview]
Message-ID: <20050603225218.GA12346@us.ibm.com> (raw)
In-Reply-To: <A95E2296287EAD4EB592B5DEEFCE0E9D28206B@liverpoolst.ad.cl.cam.ac.uk>
* Ian Pratt <m+Ian.Pratt@cl.cam.ac.uk> [2005-06-03 17:41]:
>
> > > I'll take a look at pft. Does it use futexes, or is it just
> > contending
> > > for spinlocks in the kernel?
> >
> > It contends for spinlocks in kernel.
>
> Sounds like this will be a good benchmark. Does it generate a
> perofrmance figure as it runs? (e.g. iterations a second or such like).
yes, here some sample output:
#Gb Rep Thr CLine User System Wall flt/cpu/s fault/wsec
0 5 8 1 2.30s 0.33s 1.05s 62296.578 104970.599
Gb = Gigabytes of mem (I used 128M)
Reps = repetitions of the test internally
Thr = # of test threads
I generally run this with one thread per VCPU, and 128M of memory.
> > > Thanks, I did look at the graphs at the time. As I recall, the
> > > notification mechanism was beginning to look somewhat
> > expensive under
> > > high context switch loads induced by IO. We'll have to see what the
> > > cost
> >
> > Yes. One of the tweaks we are looking to do is change the IO
> > operation from kernel space (responding to an icmp packet
> > happens within the
> > kernel) to something that is more IO realistic which would
> > involve more time per operation, like sending a message over
> > tcp (echo server or something like that).
>
> Running a parallel UDP ping-pong test might be good.
OK.
> > Here
> > is a list of things that I think we should do with add/remove.
> >
> > 1. Fix cpu_down() to tell Xen to remove the vcpu from its
> > list of runnable domains. Currently it a "down" vcpu only
> > yields it's timeslice back.
> >
> > 2. Fix cpu_up() to have Xen make the target vcpu runnable again.
> >
> > 3. Add cpu_remove() which removes the cpu from Linux, and
> > removes the vcpu in Xen.
> >
> > 4. Add cpu_add() which boots another vcpu and then brings it
> > up another cpu in Linux.
> >
> > I expect that cpu_up/cpu_down to be more light-weight than
> > cpu_add/cpu_remove.
> >
> > Does that sound reasonable. Do we want all four or can we
> > live with just 1 and 2?
>
> It's been a while since I looked at Xen's boot_vcpu code (which could do
> with a bit of refactoring between common and arch anyhow), but I don't
> recall there being anything in there that looked particularly expensive.
> Having said that, it's only holding down a couple of KB of memory, so
> maybe we just need up/down/add.
Sounds good.
--
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-06-03 22:52 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-06-03 22:06 [PATCH] Yield to VCPU hcall, spinlock yielding Ian Pratt
2005-06-03 22:52 ` Ryan Harper [this message]
2005-06-04 6:55 ` Keir Fraser
-- strict thread matches above, loose matches on Subject: below --
2005-06-08 21:29 Ian Pratt
2005-06-09 12:37 ` Bryan S Rosenburg
2005-06-09 18:13 ` Orran Y Krieger
2005-06-09 18:59 ` Andrew Theurer
2005-06-09 19:49 ` Orran Y Krieger
2005-06-08 18:25 Ian Pratt
2005-06-08 18:40 ` Bryan S Rosenburg
2005-06-08 19:11 ` Andrew Theurer
2005-06-08 20:49 ` Bryan S Rosenburg
2005-06-08 19:17 ` Ryan Harper
2005-06-07 10:38 Ian Pratt
2005-06-08 15:19 ` Bryan S Rosenburg
2005-06-09 12:54 ` Orran Y Krieger
2005-06-03 21:17 Ian Pratt
2005-06-03 21:48 ` Ryan Harper
2005-06-06 13:14 ` Orran Y Krieger
2005-06-03 20:41 Ian Pratt
2005-06-03 20:59 ` Ryan Harper
2005-05-20 16:54 [PATCH] xen, xen-sparse: modify spinlocks to use directed yield Ryan Harper
2005-06-03 19:40 ` [PATCH] Yield to VCPU hcall, spinlock yielding 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=20050603225218.GA12346@us.ibm.com \
--to=ryanh@us.ibm.com \
--cc=hohnbaum@us.ibm.com \
--cc=m+Ian.Pratt@cl.cam.ac.uk \
--cc=okrieg@us.ibm.com \
--cc=rosnbrg@us.ibm.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.