lkml.org 
[lkml]   [2004]   [Feb]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [RFC] ACPI power-off on P4 HT
My workstation has a problem with power-off as well. It is a dual P3
(Katmai) Epox motherboard with Intel 440BX chipset. About 50% of the
time I try powering off the system, the NMI watchdog fires detecting
CPU1 as locked up. I would be willing to try any patches that may fix
this, as I miss being able to let my workstation shutdown on it's own.

Thanks,
-Greg

On Wed, Feb 25, 2004 at 02:55:01AM -0500, Len Brown wrote:
> Willy,
> I do think we need a generic way to be sure that certain routines are
> run only on cpu0.
>
> I don't see it in the ACPI spec, but it seems that on some platforms,
> some register accesses (such as writing to the sleep control reg) are
> reliable only when accessed from cpu0.
>
> This issue has been with us for some time:
> http://bugzilla.kernel.org/show_bug.cgi?id=1141
>
> I am hopeful that the prepare-shutdown sequence you suggest below will
> not be necessary.
>
> thanks,
> -Len
>
>
> On Wed, 2004-02-25 at 02:00, Willy Tarreau wrote:
> > Hi Len & Marcelo,
> >
> > as I previously said, the patch I sent which fixes the poweroff on my VAIO is
> > not enough to shut down the supermicro P4 HT. So I borrowed some code from
> > machine_restart() to try to :
> > - disable APIC => was not enough, but I must retry on the VAIO
> > - stop the second CPU => was not enough either
> > - bounce on boot_cpu and stop the others => it did work.
> >
> > So I think that ACPI is not SMP-proof nor HT-proof on some hardware. My new
> > problem is that I feel like the code I have included in acpi_power_off() to
> > do this is a bit too much x86 specific, so I'd like to move this to
> > arch/i386/kernel/process.c with all the rest, but I don't know how to cut
> > this. I think that a general function such as machine_prepare_shutdown() or
> > something like this would be useful and could be shared by both ACPI and
> > machine_restart(). It would basically to everything that is needed in such
> > a case :
> > - on SMP, bounce on boot_cpu, then halt the current CPU if != boot_cpu
> > - on SMP, stop all other CPUs
> > - on UP, disable IOAPIC
> > - disable local APIC
> >
> > I suspect that this function would be useful for some suspend cases, but I'm
> > not sure. My other problem is to know what we should do then with other
> > arches. Create an identical function for everyone, or just call it from
> > ACPI on CONFIG_X86, or even add a CONFIG_MACHINE_PREPARE_SHUTDOWN ?
> >
> > I need some feedback here. Any suggestions ?
> >
> > Regards,
> > Willy
> >
>
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 14:01    [from the cache]
©2003-2011 Jasper Spaans