public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Christian Borntraeger <linux-kernel@borntraeger.net>
To: linux-kernel@vger.kernel.org
Cc: Andrew Morton <akpm@osdl.org>, lmb@suse.de
Subject: Re: [PATCH] was: [RFC] removal of sync in panic
Date: Thu, 15 Jul 2004 06:58:54 +0200	[thread overview]
Message-ID: <200407150658.54925.linux-kernel@borntraeger.net> (raw)
In-Reply-To: <20040714143112.1d8d1892.akpm@osdl.org>

Andrew Morton wrote:
> I agree with the patch in principle, but I'd be interested in what
> observed problem motivated it?

see the first posting.

-----------snip--------------
I have seen panic failing two times lately on an SMP system. The box 
panic'ed but was running happily on the other cpus. The culprit of this 
failure is the fact, that these panics have been caused by a block device 
or a filesystem (e.g. using errors=panic). In these cases the  likelihood 
of a failure/hang of  sys_sync() is high. This is exactly what happened in 
both cases I have seen. Meanwhile the other cpus are happily continuing  
destroying data as the kernel has a severe problem but its not aware of 
that as smp_send_stop happens after sys_sync.

I can imagine several changes but I am not sure if this is a problem which 
must be fixed and which fix is the best.
Here are my alternatives:

1. remove sys_sync completely: syslogd and klogd use fsync. No need to help 
them. Furthermore we have a severe problem which is worth a panic, so we 
better dont do any I/O.
2. move smp_send_stop before sys_sync. This at least prevents other cpus of 
doing harm if sys_sync hangs. Here I am not sure if this is really working.
3. Add an 
        if (doing_io())
                printk(KERN_EMERG "In I/O routine - not syncing\n");
check like in_interrupt check. Unfortunately I have no clue how this can be 
achieved and it looks quite ugly.
---------------------

  reply	other threads:[~2004-07-15  4:58 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-07-14 15:45 [RFC] removal of sync in panic Christian Borntraeger
2004-07-14 16:23 ` Lars Marowsky-Bree
2004-07-14 17:39   ` [PATCH] was: " Christian Borntraeger
2004-07-14 21:31     ` Andrew Morton
2004-07-15  4:58       ` Christian Borntraeger [this message]
2004-07-15  5:22         ` William Lee Irwin III
2004-07-17 19:01         ` Tim Wright
2004-07-18  7:34           ` Christian Borntraeger
  -- strict thread matches above, loose matches on Subject: below --
2004-07-15  8:00 linux-kernel

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=200407150658.54925.linux-kernel@borntraeger.net \
    --to=linux-kernel@borntraeger.net \
    --cc=akpm@osdl.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lmb@suse.de \
    /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