From: Avi Kivity <avi-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
To: "Li, Xin B" <xin.b.li-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Cc: kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
Subject: Re: SMP guest boots
Date: Thu, 14 Jun 2007 11:30:49 +0300 [thread overview]
Message-ID: <4670FCB9.8000304@qumranet.com> (raw)
In-Reply-To: <B30DA1341B0CFA4893EF8A36B40B5C5D01433E81-wq7ZOvIWXbNpB2pF5aRoyrfspsVTdybXVpNB7YpNyf8@public.gmane.org>
Li, Xin B wrote:
>> - set up a kvm main loop outside vl.c and cpu-exec.c.
>> - disable signals on ap threads, so that timer and network signals are
>> only handled on vcpu 0
>>
>
> I prefer to have a separate thread in qemu to execute asynchronous
> logic, like the PIC/IOAPIC code.
>
>
A separate thread for signals and timers is a good idea.
>> - set up locking so that qemu code is never executed on more than one
>>
> thread
>
> Each vCPU has a corresponding thread and can do synchronous IOs, like
> IN/OUT and MMIO to a device in DM, basically we don't need lock or
> serialize since guest OS device driver should guarantee device access
> won't happen on more than one CPU if that's not allowed. For a bad OS,
> it just kills its VM,
That is a possibly exploitable hole. We need to have some locking.
> or we may need to serialize accesses to the same
> device by using a device only lock. Totally we will have CPU# plus 1
> thread.
> By this, we can get the best parallelism.
>
>
Agreed.
>> - hack qemu's apic so it can sipi and ipi other vcpus
>>
>
> I prefer to keep LAPIC logic in KVM only, IOAPIC logic can be in Qemu
> side.
>
kernel lapic will have better performance and accuracy; user lapic is a
fallback so that if there's a problem, we can run with user lapic and
see if it reproduces (similar to the -no-kvm switch).
--
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/
prev parent reply other threads:[~2007-06-14 8:30 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-06-13 9:17 SMP guest boots Li, Xin B
[not found] ` <B30DA1341B0CFA4893EF8A36B40B5C5D01433C79-wq7ZOvIWXbNpB2pF5aRoyrfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2007-06-13 11:26 ` Gregory Haskins
[not found] ` <1181734005.26394.18.camel-5CR4LY5GPkvLDviKLk5550HKjMygAv58XqFh9Ls21Oc@public.gmane.org>
2007-06-13 12:53 ` Li, Xin B
[not found] ` <B30DA1341B0CFA4893EF8A36B40B5C5D01433CD2-wq7ZOvIWXbNpB2pF5aRoyrfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2007-06-13 13:03 ` Gregory Haskins
2007-06-13 16:25 ` Avi Kivity
[not found] ` <46701A7F.1090800-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-06-14 1:52 ` Li, Xin B
[not found] ` <B30DA1341B0CFA4893EF8A36B40B5C5D01433E81-wq7ZOvIWXbNpB2pF5aRoyrfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2007-06-14 8:30 ` Avi Kivity [this message]
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=4670FCB9.8000304@qumranet.com \
--to=avi-atkuwr5tajbwk0htik3j/w@public.gmane.org \
--cc=kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org \
--cc=xin.b.li-ral2JQCrhuEAvxtiuMwx3w@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.