public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
From: "Gregory Haskins" <ghaskins-Et1tbQHTxzrQT0dZR+AlfA@public.gmane.org>
To: <kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org>
Subject: Fwd: Re:  Status of SMP?
Date: Tue, 13 Mar 2007 11:47:21 -0400	[thread overview]
Message-ID: <45F68F51.BA47.005A.0@novell.com> (raw)
In-Reply-To: 45F68E68.BA47.005A.0@novell.com

BTW: Please excuse my stupid confusion of uP (microprocessor) with UP (uniprocessor).  Duh!

>>> On Tue, Mar 13, 2007 at 11:43 AM, in message <45F68E68.BA47.005A.0-Et1tbQHTxzrQT0dZR+AlfA@public.gmane.org>,
Gregory Haskins wrote: 
> >>> On Tue, Mar 13, 2007 at 11:09 AM, in message <45F6BEC0.1010906-atKUWr5tajBWk0Htik3J/w@public.gmane.org>,
> Avi Kivity <avi-atKUWr5tajBWk0Htik3J/w@public.gmane.org> wrote: 
>> Gregory Haskins wrote:
>>
>>>
>>> Does this sound reasonable?
>>>   
>> 
>> Much simpler (at least to start with) is to send a signal.  The signal 
>> will interrupt the guest if it is in guest mode, or if it sleeping, it 
>> will wake up the thread.  Upon receiving the signal, the thread can 
>> inject an interrupt.
>> 
>> Later on, we may wish to optimize this to avoid the signal if we're 
>> certain to be in guest mode, and only send it if we're asleep.
> 
> I will investigate it from this perspective then...but I currently dont 
> understand how a signal delivery would cause the guest to be interrupted 
> (unless you guys have already put some trickery in the kvm-kmod ;).
> 
> I can follow the logic for a uP system (I think, therefore I am.....e.g. you 
> cannot be both host and guest mode at the same time).  However, in an SMP 
> system it would be conceivable for one task to be in host context, and 
> another to be in guest context simultaneously.  If a guest was already in VM 
> context, wouldnt the signal being delivered simply be posted to the 
> pending-signals for the task and get evaluated at the next VMEXIT?  The 
> method I was describing would actually invoke the VMEXIT to begin with.  
> Perhaps the best solution is a combination of both (post a signal and an IPI 
> which evaluates to no-op in host mode).  Forgive me if I am ignorant and/or 
> being obtuse. :)
> 
> Is there something I am missing?  Or is there an issue with SMP with this 
> approach?
> 
>> 
>> 
>>> The thing I cant quite wrap my head around is how this would work in the PV 
>> driver sense.  For SMP, its clear...one VCPU thread might be in QEMU context 
>> in the LAPIC model and send the FORCE_EXIT ioctl against another VCPU to 
>> deliever the IPI.  How does this work in a uP setup for PV?  Is there some 
>> other thread in QEMU that might be waiting for AIO completions (etc) that 
>> would then be able to invoke the ioctl?  Otherwise, our one and only thread 
>> is tied up in VM context so I dont get how it would work.
>>>   
>> 
>> The scenario is a host-  side kernel-  mode device receiving a network 
>> packet and wishing to interrupt a guest.  Here, the device receive 
>> handler is a separate thread of execution.
> 
> I see.  That makes sense.
> 
> -Greg
> 
> 
> 



-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV

  parent reply	other threads:[~2007-03-13 15:47 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-03-13 12:47 Status of SMP? Gregory Haskins
     [not found] ` <45F66525.BA47.005A.0-Et1tbQHTxzrQT0dZR+AlfA@public.gmane.org>
2007-03-13 13:16   ` Avi Kivity
     [not found]     ` <45F67F12.BA47.005A.0@novell.com>
     [not found]       ` <45F6B962.9070301@qumranet.com>
     [not found]         ` <45F684E7.BA47.005A.0@novell.com>
     [not found]           ` <45F6BEC0.1010906@qumranet.com>
     [not found]             ` <45F68E68.BA47.005A.0@novell.com>
2007-03-13 15:47               ` Gregory Haskins [this message]
     [not found]     ` <45F6A426.9090004-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-03-14 21:09       ` Nakajima, Jun
     [not found]         ` <8FFF7E42E93CC646B632AB40643802A802385E65-1a9uaKK1+wJcIJlls4ac1rfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2007-03-15  8:43           ` Avi Kivity
     [not found]             ` <45F90728.2040207-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-03-15 22:08               ` Nakajima, Jun
     [not found]                 ` <8FFF7E42E93CC646B632AB40643802A8023B861B-1a9uaKK1+wJcIJlls4ac1rfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2007-03-16  6:46                   ` Avi Kivity
     [not found]                     ` <45FA3D2F.4070603-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-03-16 15:21                       ` Nakajima, Jun
     [not found]                         ` <8FFF7E42E93CC646B632AB40643802A8023B8983-1a9uaKK1+wJcIJlls4ac1rfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2007-03-18  5:48                           ` Avi Kivity
2007-03-16 14:35               ` Huang2, Wei
2007-03-16 17:51               ` Huang2, Wei
     [not found]                 ` <7D748C767B7FA541A8AC5504A4C89A23015685C1-SXV0rU3j2e+jL8BtgrxzBQC/G2K4zDHf@public.gmane.org>
2007-03-18  5:14                   ` Avi Kivity

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=45F68F51.BA47.005A.0@novell.com \
    --to=ghaskins-et1tbqhtxzrqt0dzr+alfa@public.gmane.org \
    --cc=kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox