All of lore.kernel.org
 help / color / mirror / Atom feed
From: Avi Kivity <avi-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
To: Gregory Haskins <ghaskins-Et1tbQHTxzrQT0dZR+AlfA@public.gmane.org>
Cc: kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
Subject: Re: [PATCH 10/10] KVM: Adds support for halting in	the kernel
Date: Thu, 24 May 2007 15:17:42 +0300	[thread overview]
Message-ID: <46558266.90309@qumranet.com> (raw)
In-Reply-To: <46554473.BA47.005A.0-Et1tbQHTxzrQT0dZR+AlfA@public.gmane.org>

Gregory Haskins wrote:
>   
>   
>> We have a specialized signal mask for the kernel, and it is already in 
>> effect here.  See KVM_SET_SIGNAL_MASK.
>>
>>     
>
> KVM_SET_SIGNAL_MASK is precisely what I was trying to counteract ;).  Basically I was thinking that userspace could have set some arbitrary mask that would be in effect at this time.  My justification for unmasking everything is two fold:  
>
> 1) I think I really want *any* signal to kick the HLT, so I temporarily unmask everything while halted.
>   

Signals are not yours, they're the user's.  You can't return to the user 
with a signal if they're not prepared to handle it.

> 2) Old userspace halting would not have the SET_SIGNAL_MASK set at the time either, since we would have restored the original mask before returning to userspace.
>   

That's okay, old userspace won't have masked signals anyway.

The purpose of having a different signal mask for the kernel and for 
userspace (which is what KVM_SET_SIGNAL_MASK does) is to be able to use 
signals without signal delivery (which is slow):

- while in userspace, signals are blocked
- enter kernel, unblock specified signals
- signal happens, restore signal mask, return to userspace
- userspace sees EINTR (bit signal is not delivered); can now use 
sigwait() to dequeue signal and process it.

Without KVM_SET_SIGNAL_MASK, the signal handler is invoked for any 
unblocked signals.  That's what current qemu wants; but we shall change 
it one day.

-- 
error compiling committee.c: too many arguments to function


-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/

  parent reply	other threads:[~2007-05-24 12:17 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-05-23 13:18 [PATCH 00/10] in-kernel APIC v7 (kernel side) Gregory Haskins
     [not found] ` <20070523130905.23177.11087.stgit-sLgBBP33vUGnsjUZhwzVf9HuzzzSOjJt@public.gmane.org>
2007-05-23 13:18   ` [PATCH 01/10] KVM: Adds support for in-kernel mmio handlers Gregory Haskins
2007-05-23 13:18   ` [PATCH 02/10] KVM: VMX - fix interrupt checking on light-exit Gregory Haskins
2007-05-23 13:18   ` [PATCH 03/10] KVM: Add irqdevice object Gregory Haskins
2007-05-23 13:19   ` [PATCH 04/10] KVM: Adds ability to preempt an executing VCPU Gregory Haskins
2007-05-23 13:19   ` [PATCH 05/10] KVM: Add support for in-kernel LAPIC model Gregory Haskins
2007-05-23 13:19   ` [PATCH 06/10] KVM: Adds support for real NMI injection on VMX processors Gregory Haskins
2007-05-23 13:19   ` [PATCH 07/10] KVM: Adds basic plumbing to support TPR shadow features Gregory Haskins
2007-05-23 13:19   ` [PATCH 08/10] KVM: Add statistics from interrupt subsystem Gregory Haskins
2007-05-23 13:19   ` [PATCH 09/10] KVM: Support level-sensitive interrupts better Gregory Haskins
2007-05-23 13:19   ` [PATCH 10/10] KVM: Adds support for halting in the kernel Gregory Haskins
     [not found]     ` <20070523131932.23177.38587.stgit-sLgBBP33vUGnsjUZhwzVf9HuzzzSOjJt@public.gmane.org>
2007-05-24  8:29       ` Avi Kivity
     [not found]         ` <46554CFF.9040101-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-05-24 11:54           ` Gregory Haskins
     [not found]             ` <46554473.BA47.005A.0-Et1tbQHTxzrQT0dZR+AlfA@public.gmane.org>
2007-05-24 12:17               ` Avi Kivity [this message]
     [not found]                 ` <46558266.90309-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-05-24 12:43                   ` Gregory Haskins
     [not found]                     ` <46555021.BA47.005A.0-Et1tbQHTxzrQT0dZR+AlfA@public.gmane.org>
2007-05-24 12:47                       ` Avi Kivity
2007-05-24 14:57               ` Carsten Otte
     [not found]                 ` <4655A7BE.2000608-tA70FqPdS9bQT0dZR+AlfA@public.gmane.org>
2007-05-24 15:01                   ` Gregory Haskins
2007-05-24  8:54   ` [PATCH 00/10] in-kernel APIC v7 (kernel side) Avi Kivity
     [not found]     ` <465552CA.7030607-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-05-24  9:28       ` Li, Xin B
     [not found]         ` <B30DA1341B0CFA4893EF8A36B40B5C5D012BF9E8-wq7ZOvIWXbNpB2pF5aRoyrfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2007-05-24  9:36           ` Avi Kivity
2007-05-24  9:36           ` Dor Laor
     [not found]             ` <64F9B87B6B770947A9F8391472E032160BF2A7CE-yEcIvxbTEBqsx+V+t5oei8rau4O3wl8o3fe8/T/H7NteoWH0uzbU5w@public.gmane.org>
2007-05-24  9:38               ` Li, Xin B
     [not found]                 ` <B30DA1341B0CFA4893EF8A36B40B5C5D012BF9FF-wq7ZOvIWXbNpB2pF5aRoyrfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2007-05-24  9:44                   ` Dor Laor
2007-05-24 12:00                   ` Gregory Haskins
2007-05-24 11:56       ` Gregory Haskins

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=46558266.90309@qumranet.com \
    --to=avi-atkuwr5tajbwk0htik3j/w@public.gmane.org \
    --cc=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 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.