From: Igor Mammedov <imammedo@redhat.com>
To: xen-devel@lists.xensource.com
Subject: Re: Xen randomly stuck in mdelay() during MP initialization
Date: Wed, 11 Jan 2012 15:53:09 +0100 [thread overview]
Message-ID: <4F0DA255.2030703@redhat.com> (raw)
In-Reply-To: <CAKZ=5EUEYzopp7yOTm839ZVW3QVxRwQJDmoNr3Xc_DoBjpZP2w@mail.gmail.com>
On 01/11/2012 02:06 PM, Julian Pidancet wrote:
> Hi,
>
> When trying to boot xen 4.1 on new hardware, Xen become stuck in
> wakeup_secondary_cpu() in the mdelay function.
>
> Dprintk("Waiting for send to finish...\n");
> timeout = 0;
> do {
> Dprintk("+");
> udelay(100);
> if ( !x2apic_enabled )
> send_status = apic_read(APIC_ICR)& APIC_ICR_BUSY;
> } while ( send_status&& (timeout++< 1000) );
>
> printk("before mdelay\n");
> mdelay(10);
> printk("after mdelay\n");
>
> Dprintk("Deasserting INIT.\n");
>
> The hang can happen randomly with any of the CPUs to wake up and
> sometime doesn't happen at all.
> Replacing mdelay(10) with udelay(10) seems to fix the issue.
>
Essentially the same issue, check out
http://article.gmane.org/gmane.comp.emulators.xen.devel/114776/match=ivy+bridge
Problem is that udelay uses 32 bit value from tsc for measuring
elapsed time and at early boot stage something steals
(most likely SMI) boot cpu with a following wrapping of tsc value
in udelay. And in case of mdelay this happens multiple times.
Replacing mdelay with udelay or removing it helps but it may
break boot on other hardware.
I suspect it's a BIOS issue.
--
Thanks,
Igor
prev parent reply other threads:[~2012-01-11 14:53 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-01-11 13:06 Xen randomly stuck in mdelay() during MP initialization Julian Pidancet
2012-01-11 13:27 ` Pasi Kärkkäinen
2012-01-11 13:28 ` Keir Fraser
2012-01-11 14:51 ` Julian Pidancet
2012-01-11 15:12 ` Jan Beulich
2012-01-11 15:28 ` Julian Pidancet
2012-01-11 15:35 ` Jan Beulich
2012-01-11 15:27 ` Keir Fraser
2012-01-11 14:53 ` Igor Mammedov [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=4F0DA255.2030703@redhat.com \
--to=imammedo@redhat.com \
--cc=xen-devel@lists.xensource.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;
as well as URLs for NNTP newsgroup(s).