Date: Mon, 26 Apr 2010 22:10:17 -0400 From: Alexander Sack <pisymbol@gmail.com> To: John Baldwin <jhb@freebsd.org> Cc: Charles Owens <cowens@greatbaysoftware.com>, freebsd-hardware@freebsd.org Subject: Re: Minute+ delay between kernel load and initialization (solved!) Message-ID: <g2l3c0b01821004261910we85fa505zc975200743e38a24@mail.gmail.com> In-Reply-To: <201004201202.56275.jhb@freebsd.org> References: <4B5478D1.4000900@greatbaysoftware.com> <201004200913.05426.jhb@freebsd.org> <4BCDCEB2.8040407@greatbaysoftware.com> <201004201202.56275.jhb@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Apr 20, 2010 at 12:02 PM, John Baldwin <jhb@freebsd.org> wrote: > On Tuesday 20 April 2010 11:56:34 am Charles Owens wrote: >> On 4/20/2010 9:13 AM, John Baldwin wrote: >> > On Monday 19 April 2010 6:05:06 pm Charles Owens wrote: >> > >> >> On 1/18/2010 10:05 AM, Charles Owens wrote: >> >> >> >>> Hello, >> >>> >> >>> We have a new system based on the Intel S5520 motherboard that seems= to >> >>> work fine except during _every_ boot it pauses for about one minute = 15 >> >>> seconds just before any kernel initialization messages appear. =A0 W= e see >> >>> the loader appearing to complete its work (the kernel is loaded) and >> >>> then... it sits. =A0Once it starts up again (with usual kernel-boot >> >>> messages) it appears to boot normally (no error messages). >> >>> >> >>> This has been seen with both FreeBSD 8.0 and 7.1, using GENERIC kern= els. >> >>> =A0I'd appreciate any and all assistance in figuring this out. >> >>> >> >>> Boot output follows (happens to be from a PAE-enabled kernel) >> >>> >> >>> Thank you, >> >>> >> >>> Charles >> >>> >> >>> >> >>> >> >> [truncated] >> >> >> >> An answer to this was graciously provided by Titus Manea. =A0 For det= ails, >> >> see >> >> >> >> http://www.freebsd.org/cgi/query-pr.cgi?pr=3Di386/144956 >> >> >> > Interesting. =A0I do not see the long delay on Nehalem machines here. = =A0Would >> > either of you be able to debug this further? =A0You could maybe grab T= SC > values >> > at various points during the early console probe and print out the > relevant >> > deltas after cninit() returns. =A0You could then move the TSC probe po= ints >> > around to pinpoint which operations are taking a long time. >> > >> >> John, >> >> I'm not going to have the cycles to look at this any time soon, >> unfortunately. =A0 But, just in case, how does one display TSC values? = =A0We >> did try to enable the kernel debugger, but the delay happens _before_ >> the debugger prompt is available. >> >> We now think of this more as an issue seen with some particular >> motherboard/BIOS combinations .... initially the only thing we really >> had to go on was the fact that the behavior was seen on new >> Nehalem-based systems. > > You would have to patch the source to add various calls to rdtsc() that w= ere > saved in some sort of global array. =A0Then, once the console was fully > initialized you could print out the TSC deltas by walking the array and > printing out the delta between each pair of entries. =A0You could then mo= ve the > rdtsc() calls around on subsequent tests to narrow down where the pause i= s > happening. Sorry John, I completely missed this. If you haven't done it already, I can look into it for sure. I have several Nehalem machines that do this. Its on my TODO list though I thought the kdb probe was the fix? Is that NOT the fix? Just let me know, guys, -aps
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?g2l3c0b01821004261910we85fa505zc975200743e38a24>