Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 26 May 2016 16:54:35 -0700
From:      John Baldwin <jhb@freebsd.org>
To:        gljennjohn@gmail.com
Cc:        current@freebsd.org
Subject:   Re: EARLY_AP_STARTUP hangs during boot
Message-ID:  <2245981.CzRHAP1AJo@ralph.baldwin.cx>
In-Reply-To: <20160517184741.599597b4@ernst.home>
References:  <20160516122242.39249a54@ernst.home> <3960771.pvLV2Nd9Tc@ralph.baldwin.cx> <20160517184741.599597b4@ernst.home>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tuesday, May 17, 2016 06:47:41 PM Gary Jennejohn wrote:
> On Mon, 16 May 2016 10:54:19 -0700
> John Baldwin <jhb@freebsd.org> wrote:
> 
> > On Monday, May 16, 2016 12:22:42 PM Gary Jennejohn wrote:
> > > I tried out EARLY_AP_STARTUP, but the kernel hangs and I can't
> > > break into DDB.
> > > 
> > > I did a verbose boot and the last lines I see are related to routing
> > > MSI-X to various local APIC vectors.  I copied the last few lines and
> > > they look like this:
> > > 
> > > msi: routing MSI-X IRQ 256 to local APIC 2 vector 48
> > > msi: routing MSI-X IRQ 257 to local APIC 3 vector 48
> > > msi: routing MSI-X IRQ 258 to local APIC 4 vector 48
> > > msi: routing MSI-X IRQ 256 to local APIC 0 vector 49
>          ^^^^^^^ Assigning
> > > 
> > > I tried disabling msi and msix in /boot/loader.conf, but the settings
> > > were ignored (probabaly too early).  
> > 
> > No, those settings are not too early.  However, the routing to different
> > CPUs now happens earlier than it used to.  What is the line before the
> > MSI lines?  You can take a picture with your phone/camera if that's simplest.
> > 
> 
> Here a few lines before the MSI routing happens:
> 
> hpet0: <High Precision Event Timer> iomem 0xfed00000-0xfed003ff irq 0,8 on acpi0
> hpet0: vendor 0x4353, rev 0x1, 14318180 Hz, 3 timers, legacy route
> hpet0: t0 : irqs 0x00c0ff (0), MSI, periodic
> hpet0: t1 : irqs 0x00c0ff (0), MSI, periodic
> hpet0: t2 : irqs 0x00c0ff (0), MSI, periodic
> Timecounter "HPET" frequency 14318180 Hz quality 950

The assigning message means it is in the loop using bus_bind_intr() to setup
per-CPU timers.  Can you please try setting 'hint.hpet.0.per_cpu=0' at the
loader prompt to see if disabling the use of per-CPU timers allows you to
boot?

-- 
John Baldwin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?2245981.CzRHAP1AJo>