public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: ebiederm@xmission.com (Eric W. Biederman)
To: Avi Kivity <avi@redhat.com>
Cc: Eduardo Habkost <ehabkost@redhat.com>,
	Ingo Molnar <mingo@elte.hu>, Andrey Borzenkov <arvidjaar@mail.ru>,
	mingo@redhat.com, Andrew Morton <akpm@osdl.org>,
	"Rafael J. Wysocki" <rjw@sisk.pl>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] Use BIOS reboot on Toshiba Portege 4000
Date: Tue, 04 Nov 2008 03:22:30 -0800	[thread overview]
Message-ID: <m163n3burt.fsf@frodo.ebiederm.org> (raw)
In-Reply-To: <4910283B.4070501@redhat.com> (Avi Kivity's message of "Tue, 04 Nov 2008 12:47:23 +0200")

Avi Kivity <avi@redhat.com> writes:

> Eric W. Biederman wrote:
>> I think we are confusing two issues here.
>>
>> - Ordinary machine_restart which happens to call emergency_restart.
>>   And is proceeded by machine_shutdown.
>>
>> - And emergency_restart itself.
>>
>> To some extent I would be a lot happier if Alt-sysrq-r did what
>> was necessary to get into a context where it can call machine_restart
>> or even better kernel_restart().
>> emergency_restart() is a nice idea but is broken by design.
>>
>>
>
> Isn't emergency_restart() equivalent to kexec()?  Both start from indeterminite
> conditions.

Good point.  That is a reasonable direction to evolve it on x86.
Similar to and sharing some of the same code as the kexec on panic path.

We may need to separate out emergency_restart from the normal clean
restart to make that happen.  It would be pointless and silly to be
sending NMI at other cpus for example if we have cleanly shut them
down already.

>> That said.  If we can turn off vmx on that one processor.
>> That should be enough for the cpu to triple fault and let
>> the BIOS do what it needs to do on that cpu i.e. outb(magic, 0x92)
>> and toggle a motherboard level reset?
>>
>>
>
> If triple fault is wired to INIT (as it is at least on some systems; for example
> one of mine) then the cpu will reset, but why will the bios proceed to issue a
> motherboard reset?  Won't it happily POST it's way to boot (leaving the other
> cpus dead)?

I'm not certain.  But when I was writing BIOS's it was much easier to
just toggle the reset line than to try and cope with the weird state
the machine was in.  I'm pretty certain why we don't see more problems
with reboot when we leave the machine in a weird state.   It is certainly
legal for a BIOS to just run the POST code though.


>> If I read the earlier comments correctly the deep issue is
>> that going through ACPI to reset systems is less reliable than
>> doing it the classic way.
>>
>
> It depends on the system; both are unreliable.  But if we use the same trick as
> with kdump (NMI SIPI + vmxoff) the choice will be orthogonal to whether vmx is
> in use or not.


Yes.

Eric

  reply	other threads:[~2008-11-04 11:25 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-10-31 18:18 [PATCH] Use BIOS reboot on Toshiba Portege 4000 Andrey Borzenkov
2008-11-03  9:08 ` Ingo Molnar
2008-11-03 10:02   ` Avi Kivity
2008-11-03 10:04     ` Ingo Molnar
2008-11-03 13:33     ` Eduardo Habkost
2008-11-03 14:41       ` Avi Kivity
2008-11-03 16:13         ` Eric W. Biederman
2008-11-03 17:01           ` Eduardo Habkost
2008-11-04 10:47           ` Avi Kivity
2008-11-04 11:22             ` Eric W. Biederman [this message]
2008-11-04 11:57               ` Eduardo Habkost

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=m163n3burt.fsf@frodo.ebiederm.org \
    --to=ebiederm@xmission.com \
    --cc=akpm@osdl.org \
    --cc=arvidjaar@mail.ru \
    --cc=avi@redhat.com \
    --cc=ehabkost@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=mingo@redhat.com \
    --cc=rjw@sisk.pl \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox