On Tue, 18 Nov 2003, Nate Lawson wrote: > On Tue, 18 Nov 2003, Robert Watson wrote: > > On Tue, 18 Nov 2003, Nate Lawson wrote: > > > > > Below you'll find the update patch for acpi_cpu. Please test this, > > > especially for SMP and laptops with _CST objects in their ASL. > > ... > > > Notes: > > > * Add a detach method that disables entry to acpi_cpu_idle and in the SMP > > > case, IPIs all processors to exit sleeping. This fixes a panic on > > > shutdown for MP boxes. > > > > Sigh, I appear to have been mistaken about the SMP reboot problem being > > fixed, sorry about that. Mark's random_harvest panic appears to have > > caused me to miss the other failure mode in my last test. Stack trace > > attached, and I believe I'm running with your latest patch. > > Could you add a printf to the start of acpi_cpu_detach()? I want to see > if we're being called before or after ACPI is stopped ("Shutting down I modified acpi_cpu_detach: +acpi_cpu_detach(device_t dev) +{ + + printf("\nacpi_cpu_detach\n\n"); + But sure enough: syncing disks, buffers remaining... done Uptime: 56s Shutting down ACPI kernel trap 12 with interrupts disabled tanicR:e bAososteirntgi.o.n. d->td_turnstile != NULL failed at ../../../kern/subr_turnstile.c:437 cpuid = 0; Debugger("panic") Stopped at Debugger+0x55: xchgl %ebx,in_Debugger.0 db> So indeed, it doesn't look like the ACPI detach call has gone out yet. > ACPI"). Also, please do: > l *AcpiGetRegister+0x61 > I think it's the call to get the bus master status, which is interesting > since this means that cpu_cx_count != 0 which means that acpi_cpu_detach > hasn't run yet. This is using the existing crash from the trace I sent you previously. (kgdb) l *AcpiGetRegister+0x61 0xc047c071 is in AcpiGetRegister (../../../contrib/dev/acpica/hwregs.c:375). 370 { 371 return_ACPI_STATUS (Status); 372 } 373 } 374 375 Status = AcpiHwRegisterRead (ACPI_MTX_DO_NOT_LOCK, 376 BitRegInfo->ParentRegister, &RegisterValue); 377 378 if (Flags & ACPI_MTX_LOCK) 379 { Also potentially useful information: (kgdb) inspect cpu_cx_count $1 = 1 Robert N M Watson FreeBSD Core Team, TrustedBSD Projects robert_at_fledge.watson.org Network Associates LaboratoriesReceived on Tue Nov 18 2003 - 12:52:11 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:29 UTC