From: Gleb Natapov <gleb@redhat.com>
To: Jan Kiszka <jan.kiszka@siemens.com>
Cc: Vasilis Liaskovitis <vliaskov@gmail.com>,
"kvm@vger.kernel.org" <kvm@vger.kernel.org>
Subject: Re: [PATCH] cpu hotplug issue
Date: Thu, 21 Jul 2011 14:51:18 +0300 [thread overview]
Message-ID: <20110721115118.GD3044@redhat.com> (raw)
In-Reply-To: <4E281090.9070300@siemens.com>
On Thu, Jul 21, 2011 at 01:42:08PM +0200, Jan Kiszka wrote:
> On 2011-07-21 13:33, Gleb Natapov wrote:
> > On Thu, Jul 21, 2011 at 01:06:41PM +0200, Vasilis Liaskovitis wrote:
> >> Hi,
> >>
> >> On Wed, Jul 20, 2011 at 10:35 AM, Gleb Natapov <gleb@redhat.com> wrote:
> >>> On Tue, Jul 19, 2011 at 07:40:55PM +0200, Vasilis Liaskovitis wrote:
> >>>> Hello,
> >>>>
> >>>> I have encountered a problem trying to hotplug a CPU in my x86_64 guest setup.
> >>>>
> >>> You do everything right. It's qemu who is buggy. Since qemu need a patch
> >>> for cpu hotplug to not crash it nobody tests it, so code bit rots.
> >>
> >> thanks for your reply.
> >>
> >> As I mentioned in the original email, onlining a hotplugged-cpu with
> >> qemu-kvm/master results in:
> >>
> >>>> echo 1 > /sys/devices/system/cpu/cpu1/online
> >>>> bash: echo: write error: Input/output error
> >>>>
> >>>> in the guest, dmesg reports:
> >>>>
> >>>> [ 2325.376355] Booting Node 0 Processor 1 APIC 0x1
> >>>> [ 2325.376357] smpboot cpu 1: start_ip = 9a000
> >>>> [ 2330.821306] CPU1: Not responding.
> >>
> >> I tried to git-bisect between qemu-kvm-0.13.0 (last known version
> >> where cpu hotplug works correctly
> >> for me) and qemu-kvm/master.
> >>
> >> More precisely: To enable cpu-hotplug at each bisect stage, I apply
> >> this patch derived from:
> >> http://lists.gnu.org/archive/html/qemu-devel/2010-08/msg00850.html
> >>
> >> diff --git a/hw/qdev.c b/hw/qdev.c
> >> index 1aa1ea0..aed48ce 100644
> >> --- a/hw/qdev.c
> >> +++ b/hw/qdev.c
> >> @@ -327,6 +327,7 @@ BusState *sysbus_get_default(void)
> >> if (!main_system_bus) {
> >> main_system_bus = qbus_create(&system_bus_info, NULL,
> >> "main-system-bus");
> >> + main_system_bus->allow_hotplug = 1;
> >> }
> >> return main_system_bus;
> >> }
> >>
> >> and test cpu hotplug functionality.
> >> The commit that appears to break CPU hotplug is:
> >>
> > Thank you for going through the pain of bisecting it! Bisects that
> > require patch to be applied between each step are especially annoying.
> >
> >> commit f4de8c1451f2265148ff4d895a27e21c0a8788aa
> >> Author: Jan Kiszka <jan.kiszka@siemens.com>
> >> Date: Mon Feb 21 12:28:07 2011 +0100
> >> qemu-kvm: Mark VCPU state dirty on creation
> >>
> > Jan can you look at this please?
>
> I can't promise to do debugging myself.
>
> Also, as I never succeeded in getting anything working with CPU hotplug,
> even back in the days it was supposed to work, I'm a bit clueless /wrt
> to the right test cases.
>
CPU hotplug for Linux suppose to be easy (with allow_hotplug patch
applied). But we have two bugs currently. One is that ACPI interrupt
is not send when cpu is onlined (at least this appears to be the case).
I will look at that one. Another is that after new cpu is detected it
can't be onlined.
After fixing the first bug the test should look like this:
1. start vm with -smp 1,macpus=2
2. wait for it to boot
3. do "cpu 1 online" in monitor.
4. do "echo 1 > /sys/devices/system/cpu/cpu1/online"
If step 4 should succeed. It fails now.
--
Gleb.
next prev parent reply other threads:[~2011-07-21 11:51 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-07-19 17:40 cpu hotplug issue Vasilis Liaskovitis
2011-07-20 8:35 ` Gleb Natapov
2011-07-21 11:06 ` [PATCH] " Vasilis Liaskovitis
2011-07-21 11:33 ` Gleb Natapov
2011-07-21 11:42 ` Jan Kiszka
2011-07-21 11:51 ` Gleb Natapov [this message]
2011-07-21 11:55 ` Jan Kiszka
2011-07-21 12:00 ` Gleb Natapov
2011-07-21 12:18 ` Avi Kivity
2011-07-21 12:22 ` Gleb Natapov
2011-07-21 12:39 ` Jan Kiszka
2011-07-21 13:27 ` Lucas Meneghel Rodrigues
2011-07-21 12:45 ` Gleb Natapov
2011-07-22 10:56 ` Jan Kiszka
2011-07-24 11:56 ` Gleb Natapov
2011-07-24 16:11 ` Jan Kiszka
2011-07-25 13:18 ` Jan Kiszka
2011-07-25 13:21 ` Gleb Natapov
2011-07-25 13:26 ` Jan Kiszka
2011-07-27 16:35 ` Vasilis Liaskovitis
2011-07-28 16:52 ` Jan Kiszka
2011-08-02 9:46 ` Vasilis Liaskovitis
2011-08-02 10:24 ` Jan Kiszka
2011-08-02 13:41 ` Vasilis Liaskovitis
2011-08-03 10:07 ` Vasilis Liaskovitis
2011-08-03 10:37 ` Jan Kiszka
2011-08-03 10:38 ` Gleb Natapov
2011-08-03 10:42 ` Jan Kiszka
2011-08-03 16:25 ` Vasilis Liaskovitis
2011-08-04 8:01 ` Gleb Natapov
2011-08-04 8:40 ` Jan Kiszka
2011-07-21 13:08 ` Vasilis Liaskovitis
2011-07-21 13:11 ` Gleb Natapov
2011-07-21 13:12 ` Vasilis Liaskovitis
2011-07-21 13:13 ` Gleb Natapov
2011-07-21 13:15 ` Avi Kivity
2011-07-21 13:15 ` Avi Kivity
2011-07-21 11:36 ` Jan Kiszka
2011-07-21 12:22 ` Jan Kiszka
2011-07-21 12:25 ` Gleb Natapov
2011-07-21 12:35 ` Jan Kiszka
2011-07-21 12:40 ` Gleb Natapov
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=20110721115118.GD3044@redhat.com \
--to=gleb@redhat.com \
--cc=jan.kiszka@siemens.com \
--cc=kvm@vger.kernel.org \
--cc=vliaskov@gmail.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox