public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
To: Ingo Molnar <mingo@elte.hu>
Cc: David Woodhouse <dwmw2@infradead.org>,
	Artem Bityutskiy <dedekind1@gmail.com>,
	LKML <linux-kernel@vger.kernel.org>,
	"Koskinen Aaro (Nokia-D/Helsinki)" <aaro.koskinen@nokia.com>,
	linux-mtd <linux-mtd@lists.infradead.org>,
	Simon Kagstrom <simon.kagstrom@netinsight.net>,
	Andrew Morton <akpm@linux-foundation.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Alan Cox <alan@lxorguk.ukuu.org.uk>
Subject: Re: [PATCH] panic.c: export panic_on_oops
Date: Mon, 12 Oct 2009 20:32:28 +0200	[thread overview]
Message-ID: <4AD3763C.70307@gmx.net> (raw)
In-Reply-To: <20091012151431.GC14004@elte.hu>

On 12.10.2009 17:14, Ingo Molnar wrote:
> * David Woodhouse <dwmw2@infradead.org> wrote:
>   
>> On Mon, 2009-10-12 at 16:26 +0200, Ingo Molnar wrote:
>>     
>>> Not if the failure is say a s2ram hang that requires a power cycle. 
>>> Also there are certain classes of bugs that only occur on cold boot. 
>>> Plus there's the "need to unplug the battery to revive the system" 
>>> class of bugs (but they are rare).
>>>       
>> So you need to build in enough ECC to cope with the decay which 
>> happens when RAM isn't being refreshed for a few seconds... :)
>>     
>
> [ hey, i think you should line up with BIOS writers at that wall ;-) ]
>   

Not all of us x86 firmware writers are evil.


>>> So i think the MTD / flash stuff is powerful.
>>>       
>> Yeah, definitely. I was just pointing out that we can actually do a 
>> lot better on today's commodity hardware too.
>>     
>
> I wish it worked on any of the 10+ x86 systems i have. Is there anyone 
> who'd be interested in exploring whether warm BIOS reboots work 
> _anywhere_?
>   

AFAIK memory clearing is default off in coreboot for non-ECC RAM and
default on for ECC RAM (to avoid parity errors on read, but that can
probably be worked around). Unless I'm mistaken, the SeaBIOS BIOS
compatibility layer on top of coreboot doesn't erase RAM at all, so
contents can survive.
No idea about classic AMI/Award/Phoenix/Insyde/whatever BIOS, though.


> A simple patch with a new (default-off) CONFIG_DEBUG_ feature that just 
> puts a signature into a predictable spot in RAM, switches the reboot 
> method over to warm reboot (reboot=w) and prints some friendly "yay, 
> this BIOS rocks!" message if the signature is still there after a reboot 
> and not zeroed out.
>
> If that works _anywhere_ we could complete it: we could cache the dmesg 
> buffer address (__log_buf[]) across reboots (and maybe the printk tail 
> offset (log_end)), and that would be an _excellent_ debuggability 
> feature for a large class of otherwise undebuggable crashes ...
>
> We could use that to preserve a kernel function trace (or a branch 
> execution hardware trace using BTS on Intel CPUs) across crashes, etc. 
> etc.
>   

Since we're discussing log buffers anyway, does it make sense to have
this feature interact with the coreboot log buffer which is passed on to
the OS (no official patches for that one, yet)? Basically, coreboot has
its own log buffer where it stores the hardware init diagnostic messages
(very similar to the Linux kernel message buffer) and it could make
sense to use the same memory area for both purposes (if you can deal
with coreboot messages being absent after a kernel Oops).

Thoughts?

Regards,
Carl-Daniel

-- 
Developer quote of the week: 
"We are juggling too many chainsaws and flaming arrows and tigers."


  reply	other threads:[~2009-10-12 18:33 UTC|newest]

Thread overview: 70+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-10-11  6:10 [PATCH] panic.c: export panic_on_oops Artem Bityutskiy
2009-10-12 11:15 ` Ingo Molnar
2009-10-12 11:23   ` Simon Kagstrom
2009-10-12 11:25   ` Artem Bityutskiy
2009-10-12 11:37     ` Ingo Molnar
2009-10-12 12:01       ` Simon Kagstrom
2009-10-12 12:09         ` Ingo Molnar
2009-10-12 12:15           ` David Woodhouse
2009-10-12 12:20             ` Ingo Molnar
2009-10-12 12:33               ` David Woodhouse
2009-10-12 12:36                 ` Ingo Molnar
2009-10-12 12:48                   ` David Woodhouse
2009-10-12 13:06               ` Simon Kagstrom
2009-10-12 13:15                 ` Ingo Molnar
2009-10-12 13:39                   ` Simon Kagstrom
2009-10-12 14:30                     ` Ingo Molnar
2009-10-12 15:01                       ` Simon Kagstrom
2009-10-12 15:23                         ` Ingo Molnar
2009-10-12 15:36                     ` Linus Torvalds
2009-10-12 15:44                       ` Linus Torvalds
2009-10-12 17:29                         ` Artem Bityutskiy
2009-10-12 17:43                           ` Linus Torvalds
2009-10-12 17:46                             ` Linus Torvalds
2009-10-12 18:09                       ` Andrew Morton
2009-10-12 18:23                         ` Ingo Molnar
2009-10-12 18:36                           ` Andrew Morton
2009-10-12 18:45                           ` Linus Torvalds
2009-10-12 19:14                             ` Ingo Molnar
2009-10-12 19:18                             ` Dirk Hohndel
2009-10-13  7:58                             ` Simon Kagstrom
2009-10-13  8:57                               ` Artem Bityutskiy
2009-10-13 13:17                             ` [PATCH/RFC v5 0/5]: mtdoops: fixes and improvements Simon Kagstrom
2009-10-13 13:21                               ` [PATCH/RFC v5 1/5]: mtdoops: avoid erasing already empty areas Simon Kagstrom
2009-10-13 13:22                               ` [PATCH/RFC v5 2/5]: mtdoops: Keep track of used/unused mtdoops pages in an array Simon Kagstrom
2009-10-13 13:22                               ` [PATCH/RFC v5 3/5]: mtdoops: Make page (record) size configurable Simon Kagstrom
2009-10-13 13:22                               ` [PATCH/RFC v5 4/5]: core: Add dump device to call on oopses and panics Simon Kagstrom
2009-10-13 15:37                                 ` Linus Torvalds
2009-11-26  9:36                                 ` Jörn Engel
2009-11-30  7:27                                   ` Artem Bityutskiy
2009-11-30  7:46                                     ` Jörn Engel
2009-11-30  8:51                                       ` Artem Bityutskiy
2009-11-30  9:35                                         ` Jörn Engel
2009-11-30  9:40                                           ` Artem Bityutskiy
2009-11-30  9:53                                             ` Simon Kagstrom
2009-11-30  9:54                                             ` Jörn Engel
2009-11-30 10:23                                         ` David Woodhouse
2009-11-30 10:27                                           ` David Woodhouse
2009-11-30  9:09                                   ` Artem Bityutskiy
2009-11-30  9:28                                     ` Simon Kagstrom
2009-10-13 13:22                               ` [PATCH/RFC v5 5/5]: mtdoops: refactor as a dump_device Simon Kagstrom
2009-10-14 13:34                             ` [PATCH v6 0/5]: mtdoops: fixes and improvements Simon Kagstrom
2009-10-14 13:40                               ` [PATCH v6 1/5]: mtdoops: avoid erasing already empty areas Simon Kagstrom
2009-10-14 13:41                               ` [PATCH v6 2/5]: mtdoops: Keep track of used/unused mtdoops pages in an array Simon Kagstrom
2009-10-14 13:41                               ` [PATCH v6 3/5]: mtdoops: Make page (record) size configurable Simon Kagstrom
2009-10-14 13:41                               ` [PATCH v6 4/5]: core: Add kernel message dumper to call on oopses and panics Simon Kagstrom
2009-10-14 16:49                                 ` Linus Torvalds
2009-10-14 13:41                               ` [PATCH v6 5/5]: mtdoops: refactor as a kmsg_dumper Simon Kagstrom
2009-10-14 15:12                                 ` Simon Kagstrom
2009-10-15  5:11                                   ` vimal singh
2009-10-12 12:27           ` [PATCH] panic.c: export panic_on_oops Simon Kagstrom
2009-10-12 12:32             ` Ingo Molnar
2009-10-12 13:08               ` Alan Cox
2009-10-12 13:25                 ` Ingo Molnar
2009-10-12 13:32                   ` David Woodhouse
2009-10-12 14:26                     ` Ingo Molnar
2009-10-12 14:36                       ` David Woodhouse
2009-10-12 15:14                         ` Ingo Molnar
2009-10-12 18:32                           ` Carl-Daniel Hailfinger [this message]
2009-10-12 19:18                             ` Ingo Molnar
2009-10-12 14:12       ` Arjan van de Ven

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=4AD3763C.70307@gmx.net \
    --to=c-d.hailfinger.devel.2006@gmx.net \
    --cc=aaro.koskinen@nokia.com \
    --cc=akpm@linux-foundation.org \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=dedekind1@gmail.com \
    --cc=dwmw2@infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mtd@lists.infradead.org \
    --cc=mingo@elte.hu \
    --cc=simon.kagstrom@netinsight.net \
    --cc=torvalds@linux-foundation.org \
    /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