From: Ryan Harper <ryanh@us.ibm.com>
To: Bryan S Rosenburg <rosnbrg@us.ibm.com>
Cc: Ian Pratt <m+Ian.Pratt@cl.cam.ac.uk>,
xen-devel@lists.xensource.com, hohnbaum@us.ibm.com,
Orran Y Krieger <okrieg@us.ibm.com>,
ryanh@us.ibm.com
Subject: Re: [PATCH] Yield to VCPU hcall, spinlock yielding
Date: Wed, 8 Jun 2005 14:17:56 -0500 [thread overview]
Message-ID: <20050608191756.GD13586@us.ibm.com> (raw)
In-Reply-To: <OFD8CF01DE.6D4D3F03-ON8525701A.0065E86B-8525701A.00669A2D@us.ibm.com>
* Bryan Rosenburg <rosnbrg@us.ibm.com> [2005-06-08 13:40]:
> "Ian Pratt" <m+Ian.Pratt@cl.cam.ac.uk> wrote on 06/08/2005 02:25:56 PM:
>
> > > The key point is that with
> > > kernel-level preemption notification, VCPUs are always in
> > > kernel mode when suspended, never in user mode. Application
> > > state is always saved in Linux, not in Xen, and is available
> > > to be resumed on another VCPU if Linux so chooses.
> >
> > In principle, but...
> >
> > Do you believe this is going to interact well with Linux's work stealing
> > CPU migration? I haven't looked closely at the current code, but from
> > Linux's scheduler's POV the de-scheduled (yielded) CPU looks like a
> > perfectly healthy CPU, so there's no particular reason that another CPU
> > would steal work from it (without hacking the algorithm, which I suppose
> > we could do). Also, do you have to do something special in your yield
> > routine to ensure that no real process is currently running on the
> > yielded processor so that all processes on the run queue are available
> > for stealing?
> >
> > Ian
>
> In our original posting, we proposed that the Linux interrupt handler for
> preemption notifications would create (or unblock) a high-priority kernel
> thread which would then yield back to the hypervisor. To Linux on other
> CPUs, the de-scheduled CPU would appear to be busy running the
> high-priority thread, and all real work that that CPU had been doing would
> be eligible for stealing.
>
> I don't think that Ryan has yet implemented the high-priority thread part
> of the proposal, but that's always been part of the plan.
That is correct. I attempted to schedule some work on a particular cpu
in the interrupt handler but I couldn't quite get it working.
Currently, we are yielding in the interrupt handler which isn't what we
proposed, but I had hoped that it was close enough to see the general
effectiveness of the approach.
--
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-08 19:17 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-06-08 18:25 [PATCH] Yield to VCPU hcall, spinlock yielding 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 [this message]
-- 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-07 10:38 Ian Pratt
2005-06-08 15:19 ` Bryan S Rosenburg
2005-06-09 12:54 ` Orran Y Krieger
2005-06-03 22:06 Ian Pratt
2005-06-03 22:52 ` Ryan Harper
2005-06-04 6:55 ` Keir Fraser
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=20050608191756.GD13586@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.