From: Bandan Das <bsd@redhat.com> To: "Kevin O'Connor" <kevin@koconnor.net> Cc: "Dr. David Alan Gilbert" <dgilbert@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>, kraxel@redhat.com, Andrey Korolyov <andrey@xdel.ru>, "qemu-devel\@nongnu.org" <qemu-devel@nongnu.org>, "kvm\@vger.kernel.org" <kvm@vger.kernel.org> Subject: Re: [Qemu-devel] E5-2620v2 - emulation stop error Date: Wed, 11 Mar 2015 13:09:42 -0400 [thread overview] Message-ID: <jpgvbi7v4tl.fsf@redhat.com> (raw) In-Reply-To: <20150311154220.GA26463@morn.localdomain> (Kevin O'Connor's message of "Wed, 11 Mar 2015 11:42:20 -0400") "Kevin O'Connor" <kevin@koconnor.net> writes: ... > > Something is very odd here. When I run the above command (on an older > AMD machine) I get: > > Found 128 cpu(s) max supported 128 cpu(s) > > That first value (1 vs 128) comes from QEMU (via cmos index 0x5f). > That is, during smp init, SeaBIOS expects QEMU to tell it how many > cpus are active, and SeaBIOS waits until that many CPUs check in from > its SIPI request before proceeding. > > I wonder if QEMU reported only 1 active cpu via that cmos register, > but more were actually active. If that was the case, it could I was daring enough to try this and I don't see the crash :) diff --git a/src/fw/smp.c b/src/fw/smp.c index a466ea6..a346d46 100644 --- a/src/fw/smp.c +++ b/src/fw/smp.c @@ -49,6 +49,7 @@ int apic_id_is_present(u8 apic_id) void VISIBLE32FLAT handle_smp(void) { + dprintf(DEBUG_HDL_smp, "Calling handle_smp\n"); if (!CONFIG_QEMU) return; @@ -128,6 +129,8 @@ smp_setup(void) // Wait for other CPUs to process the SIPI. u8 cmos_smp_count = rtc_read(CMOS_BIOS_SMP_COUNT) + 1; + while (cmos_smp_count == 1) + cmos_smp_count = rtc_read(CMOS_BIOS_SMP_COUNT) + 1; while (cmos_smp_count != CountCPUs) asm volatile( // Release lock and allow other processors to use the stack. So, the while loop results in a race somehow ? Bandan > certainly explain the failure - as multiple cpus could be running > without the sipi trapoline in place. > > What does the log look like on a non-failure case? > > -Kevin
WARNING: multiple messages have this Message-ID (diff)
From: Bandan Das <bsd@redhat.com> To: Kevin O'Connor <kevin@koconnor.net> Cc: Andrey Korolyov <andrey@xdel.ru>, "kvm@vger.kernel.org" <kvm@vger.kernel.org>, "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>, "Dr. David Alan Gilbert" <dgilbert@redhat.com>, kraxel@redhat.com, Paolo Bonzini <pbonzini@redhat.com> Subject: Re: [Qemu-devel] E5-2620v2 - emulation stop error Date: Wed, 11 Mar 2015 13:09:42 -0400 [thread overview] Message-ID: <jpgvbi7v4tl.fsf@redhat.com> (raw) In-Reply-To: <20150311154220.GA26463@morn.localdomain> (Kevin O'Connor's message of "Wed, 11 Mar 2015 11:42:20 -0400") "Kevin O'Connor" <kevin@koconnor.net> writes: ... > > Something is very odd here. When I run the above command (on an older > AMD machine) I get: > > Found 128 cpu(s) max supported 128 cpu(s) > > That first value (1 vs 128) comes from QEMU (via cmos index 0x5f). > That is, during smp init, SeaBIOS expects QEMU to tell it how many > cpus are active, and SeaBIOS waits until that many CPUs check in from > its SIPI request before proceeding. > > I wonder if QEMU reported only 1 active cpu via that cmos register, > but more were actually active. If that was the case, it could I was daring enough to try this and I don't see the crash :) diff --git a/src/fw/smp.c b/src/fw/smp.c index a466ea6..a346d46 100644 --- a/src/fw/smp.c +++ b/src/fw/smp.c @@ -49,6 +49,7 @@ int apic_id_is_present(u8 apic_id) void VISIBLE32FLAT handle_smp(void) { + dprintf(DEBUG_HDL_smp, "Calling handle_smp\n"); if (!CONFIG_QEMU) return; @@ -128,6 +129,8 @@ smp_setup(void) // Wait for other CPUs to process the SIPI. u8 cmos_smp_count = rtc_read(CMOS_BIOS_SMP_COUNT) + 1; + while (cmos_smp_count == 1) + cmos_smp_count = rtc_read(CMOS_BIOS_SMP_COUNT) + 1; while (cmos_smp_count != CountCPUs) asm volatile( // Release lock and allow other processors to use the stack. So, the while loop results in a race somehow ? Bandan > certainly explain the failure - as multiple cpus could be running > without the sipi trapoline in place. > > What does the log look like on a non-failure case? > > -Kevin
next prev parent reply other threads:[~2015-03-11 17:09 UTC|newest] Thread overview: 157+ messages / expand[flat|nested] mbox.gz Atom feed top 2015-03-05 22:14 E5-2620v2 - emulation stop error Andrey Korolyov 2015-03-05 22:14 ` [Qemu-devel] " Andrey Korolyov 2015-03-05 23:44 ` Andrey Korolyov 2015-03-05 23:44 ` [Qemu-devel] " Andrey Korolyov 2015-03-06 16:57 ` Bandan Das 2015-03-06 16:57 ` Bandan Das 2015-03-07 0:00 ` Andrey Korolyov 2015-03-10 14:24 ` Andrey Korolyov 2015-03-10 16:57 ` Dr. David Alan Gilbert 2015-03-10 18:08 ` Andrey Korolyov 2015-03-10 18:16 ` Dr. David Alan Gilbert 2015-03-10 18:21 ` Andrey Korolyov 2015-03-10 19:30 ` Paolo Bonzini 2015-03-10 18:10 ` Paolo Bonzini 2015-03-10 18:21 ` Bandan Das 2015-03-10 18:21 ` Bandan Das 2015-03-10 19:25 ` Paolo Bonzini 2015-03-10 19:25 ` Paolo Bonzini 2015-03-10 19:37 ` Dr. David Alan Gilbert 2015-03-10 20:29 ` Dr. David Alan Gilbert 2015-03-10 20:29 ` Dr. David Alan Gilbert 2015-03-11 2:38 ` Bandan Das 2015-03-11 2:38 ` Bandan Das 2015-03-11 13:45 ` Dr. David Alan Gilbert 2015-03-11 13:45 ` Dr. David Alan Gilbert 2015-03-11 15:42 ` Kevin O'Connor 2015-03-11 15:42 ` Kevin O'Connor 2015-03-11 15:53 ` Dr. David Alan Gilbert 2015-03-11 15:53 ` Dr. David Alan Gilbert 2015-03-11 16:37 ` Kevin O'Connor 2015-03-11 16:37 ` [Qemu-devel] " Kevin O'Connor 2015-03-11 16:52 ` Dr. David Alan Gilbert 2015-03-11 16:52 ` Dr. David Alan Gilbert 2015-03-11 17:37 ` Kevin O'Connor 2015-03-11 17:37 ` Kevin O'Connor 2015-03-11 17:41 ` Paolo Bonzini 2015-03-11 17:41 ` Paolo Bonzini 2015-03-11 17:59 ` Dr. David Alan Gilbert 2015-03-11 17:59 ` Dr. David Alan Gilbert 2015-03-11 18:24 ` Bandan Das 2015-03-11 18:24 ` Bandan Das 2015-03-11 18:40 ` Kevin O'Connor 2015-03-11 18:40 ` Kevin O'Connor 2015-03-11 18:45 ` Kevin O'Connor 2015-03-11 18:45 ` Kevin O'Connor 2015-03-11 19:19 ` Kevin O'Connor 2015-03-11 19:19 ` Kevin O'Connor 2015-03-11 19:33 ` Dr. David Alan Gilbert 2015-03-11 19:33 ` Dr. David Alan Gilbert 2015-03-11 19:47 ` Bandan Das 2015-03-11 19:47 ` Bandan Das 2015-03-11 19:47 ` Andrey Korolyov 2015-03-11 19:47 ` Andrey Korolyov 2015-03-11 19:59 ` Dr. David Alan Gilbert 2015-03-11 19:59 ` Dr. David Alan Gilbert 2015-03-11 20:09 ` Andrey Korolyov 2015-03-11 20:09 ` Andrey Korolyov 2015-03-12 9:59 ` Dr. David Alan Gilbert 2015-03-12 9:59 ` Dr. David Alan Gilbert 2015-03-12 10:47 ` Andrey Korolyov 2015-03-12 10:47 ` Andrey Korolyov 2015-03-16 19:17 ` Andrey Korolyov 2015-03-16 19:17 ` Andrey Korolyov 2015-03-16 19:26 ` Dr. David Alan Gilbert 2015-03-16 19:26 ` Dr. David Alan Gilbert 2015-03-25 20:43 ` Andrey Korolyov 2015-03-25 20:43 ` [Qemu-devel] " Andrey Korolyov 2015-03-25 20:46 ` Andrey Korolyov 2015-03-25 20:46 ` [Qemu-devel] " Andrey Korolyov 2015-03-25 20:54 ` Kevin O'Connor 2015-03-25 20:54 ` Kevin O'Connor 2015-03-25 22:31 ` Andrey Korolyov 2015-03-25 22:31 ` Andrey Korolyov 2015-03-25 23:02 ` Kevin O'Connor 2015-03-25 23:02 ` Kevin O'Connor 2015-03-25 23:35 ` Andrey Korolyov 2015-03-25 23:35 ` Andrey Korolyov 2015-03-26 0:05 ` Kevin O'Connor 2015-03-26 0:05 ` Kevin O'Connor 2015-03-26 15:58 ` Radim Krčmář 2015-03-26 15:58 ` Radim Krčmář 2015-03-26 16:36 ` Kevin O'Connor 2015-03-26 16:36 ` [Qemu-devel] " Kevin O'Connor 2015-03-26 16:48 ` Andrey Korolyov 2015-03-26 16:48 ` Andrey Korolyov 2015-03-26 17:06 ` Kevin O'Connor 2015-03-26 17:06 ` Kevin O'Connor 2015-03-26 17:08 ` Andrey Korolyov 2015-03-26 17:08 ` Andrey Korolyov 2015-03-26 17:18 ` Kevin O'Connor 2015-03-26 17:18 ` Kevin O'Connor 2015-03-26 17:33 ` Andrey Korolyov 2015-03-26 17:33 ` Andrey Korolyov 2015-03-26 17:40 ` Radim Krčmář 2015-03-26 17:40 ` Radim Krčmář 2015-03-26 18:24 ` Andrey Korolyov 2015-03-26 18:24 ` Andrey Korolyov 2015-03-26 20:40 ` Radim Krčmář 2015-03-26 20:40 ` Radim Krčmář 2015-03-26 21:03 ` Bandan Das 2015-03-26 21:03 ` Bandan Das 2015-03-27 10:16 ` Andrey Korolyov 2015-03-27 10:16 ` Andrey Korolyov 2015-03-30 18:56 ` Radim Krčmář 2015-03-30 18:56 ` [Qemu-devel] " Radim Krčmář 2015-03-30 19:32 ` Andrey Korolyov 2015-03-30 19:32 ` Andrey Korolyov 2015-03-31 13:45 ` Radim Krčmář 2015-03-31 13:45 ` [Qemu-devel] " Radim Krčmář 2015-03-31 14:56 ` Andrey Korolyov 2015-03-31 14:56 ` Andrey Korolyov 2015-03-31 16:45 ` Radim Krčmář 2015-03-31 16:45 ` [Qemu-devel] " Radim Krčmář 2015-03-31 17:40 ` Andrey Korolyov 2015-03-31 17:40 ` Andrey Korolyov 2015-03-31 18:01 ` Bandan Das 2015-03-31 18:01 ` Bandan Das 2015-03-31 18:04 ` Bandan Das 2015-03-31 18:04 ` [Qemu-devel] " Bandan Das 2015-03-31 18:23 ` Andrey Korolyov 2015-03-31 18:23 ` Andrey Korolyov 2015-04-01 11:49 ` Radim Krčmář 2015-04-01 11:49 ` Radim Krčmář 2015-04-01 12:05 ` Paolo Bonzini 2015-04-01 12:05 ` Paolo Bonzini 2015-04-01 12:26 ` Andrey Korolyov 2015-04-01 12:26 ` Andrey Korolyov 2015-04-01 13:19 ` Paolo Bonzini 2015-04-01 13:19 ` Paolo Bonzini 2015-04-01 15:37 ` Andrey Korolyov 2015-04-01 15:37 ` Andrey Korolyov 2015-04-01 16:29 ` Andrey Korolyov 2015-04-01 16:29 ` Andrey Korolyov 2015-04-01 22:58 ` Andrey Korolyov 2015-04-01 22:58 ` Andrey Korolyov 2015-04-05 14:12 ` Andrey Korolyov 2015-04-05 14:12 ` [Qemu-devel] " Andrey Korolyov 2015-03-27 11:54 ` Andrey Korolyov 2015-03-27 11:54 ` Andrey Korolyov 2015-03-30 19:28 ` Radim Krčmář 2015-03-30 19:28 ` Radim Krčmář 2015-03-26 17:35 ` Radim Krčmář 2015-03-26 17:35 ` Radim Krčmář 2015-03-26 17:34 ` Radim Krčmář 2015-03-26 17:34 ` Radim Krčmář 2015-03-26 2:47 ` Bandan Das 2015-03-26 2:47 ` Bandan Das 2015-03-26 9:18 ` Andrey Korolyov 2015-03-26 9:18 ` Andrey Korolyov 2015-03-26 15:05 ` Andrey Korolyov 2015-03-26 15:05 ` Andrey Korolyov 2015-03-11 17:09 ` Bandan Das [this message] 2015-03-11 17:09 ` Bandan Das 2015-03-11 17:32 ` Kevin O'Connor 2015-03-11 17:32 ` Kevin O'Connor 2015-03-11 18:01 ` Bandan Das 2015-03-11 18:01 ` Bandan Das
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=jpgvbi7v4tl.fsf@redhat.com \ --to=bsd@redhat.com \ --cc=andrey@xdel.ru \ --cc=dgilbert@redhat.com \ --cc=kevin@koconnor.net \ --cc=kraxel@redhat.com \ --cc=kvm@vger.kernel.org \ --cc=pbonzini@redhat.com \ --cc=qemu-devel@nongnu.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: linkBe 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.