Re: PROBLEM: linux 3.16 APIC and bhyve won't boot

From: Sitsofe Wheeler
Date: Fri Aug 29 2014 - 16:06:58 EST


Hello,

On Fri, Aug 29, 2014 at 03:44:20PM +0200, Chloé Desoutter wrote:
>
> [1.] One line summary of the problem:
> On Linux 3.16 a custom-built kernel with bhyve won't boot and will
> hang on the APIC timer calibration.

Wow I haven't seen a report in this style in a while...

> [2.] Full description of the problem/report:
> I'm booting a 3.16 in bhyve (FreeBSD hypervisor) and according to my tests
> lapic_cal_handler never gets called. This prevents the lapic_cal_loops
> counter from being incremented and therefore the APIC calibration never
> finishes. It is supposed to be called 25 times (APIC_CAL_LOOPS
> constant). I added some apic_printk's to check for these infos (not a
> best practice but I don't have access to a debugger in this specific
> context).

<snip>

> [7.7.] Other information that might be relevant to the problem
> A stock Debian 3.2 kernel will boot. I don't have the possibility to
> build such a bloated kernel to see what's missing. My goal is to
> identify what is the minimal set of functionalities needed to have a
> kernel start up in a bhyve context. I have several other Linux VMs
> able to run on this hypervisor, none with such a recent kernel.

Without being able to email explicit people in addition to the general
LKML there's a good chance this will be overlooked. I can only guess the
problem has something to do with arch/x86/kernel/apic/apic.c but I don't
really know...

What will help a lot is if you can try your cut down 3.16 but modify it
using make oldconfig on an old 3.2 kernel and see if that boots. If it
does, then you can use git bisect v3.16 v3.2 to narrow down the exact
commit that introduced the problem.

--
Sitsofe | http://sucs.org/~sits/
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/