Date: Tue, 27 May 2008 06:20:03 GMT From: Bob Frazier <bobf@mrp3.com> To: freebsd-bugs@FreeBSD.org Subject: Re: kern/123140: [smp] SMP boot causes slow KB, ATA drives not detected Message-ID: <200805270620.m4R6K34L060501@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/123140; it has been noted by GNATS. From: Bob Frazier <bobf@mrp3.com> To: bug-followup@FreeBSD.org Cc: gavin@FreeBSD.org, freebsd-bugs@FreeBSD.org Subject: Re: kern/123140: [smp] SMP boot causes slow KB, ATA drives not detected Date: Tue, 27 May 2008 00:16:26 -0700 inserted test code into lapic_handle_timer to indicate the proper execution of timer interrupt callbacks by printing a message once every 4096 times that the function is called. The test code was inserted as follows. lapic_handle_timer(struct trapframe *frame) { // BBB begin static int iBBBIter = 0; // BBB end struct lapic *la; /* Send EOI first thing. */ lapic_eoi(); // BBB begin if(!((iBBBIter++) & 0xfff)) { printf("TEMPORARY - cpu %d timer tick %xH\n", PCPU_GET(cpuid), iBBBIter - 1); } // BBB end observations: a) just prior to the point of failure (when disk access is being attempted), only CPU #0 is calling the ISR, and the ISR appears to be invoked approximately 2000 times per second. Divider value is assigned to a value of '66666' or '66667' (same value for all 4 CPUs). b) at the actual point of failure (ATA drives not detected) it appears as if there are still timer callbacks being invoked. Drive detection takes place after the 'firewire' setup message and before the additional CPUs are initialized. c) once the 'mountroot' prompt appeared, only a single CPU (varies each time I retried) received timer interrupts. These timer interrupts appear to be taking place 4 times as often (is this because of the 4 CPU cores?) d) after pressing <ENTER> at 'mountroot' and getting the 'db' prompt, entering 'continue' allowed the other CPUs to get their timer interrupts prior to system restart.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200805270620.m4R6K34L060501>