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/
next prev 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox