public inbox for linux-mtd@lists.infradead.org
 help / color / mirror / Atom feed
From: Linus Torvalds <torvalds@linux-foundation.org>
To: Artem Bityutskiy <dedekind1@gmail.com>
Cc: 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>,
	Ingo Molnar <mingo@elte.hu>,
	David Woodhouse <dwmw2@infradead.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Alan Cox <alan@lxorguk.ukuu.org.uk>
Subject: Re: [PATCH] panic.c: export panic_on_oops
Date: Mon, 12 Oct 2009 10:43:30 -0700 (PDT)	[thread overview]
Message-ID: <alpine.LFD.2.01.0910121036330.3438@localhost.localdomain> (raw)
In-Reply-To: <1255368557.27022.226.camel@localhost>



On Mon, 12 Oct 2009, Artem Bityutskiy wrote:
> 
> But mtdoops tries to solves the following problem. What if we are
> oopsing in an interrupt, which interrupted the mtd driver, so we have
> all the locks held, and the mtd driver is in a unexpected stage ATM? Or
> what if we are oopsing in the mtd driver, or in something which was
> called by the MTD driver.?

Well, quite frankly, if you have an oops while holding a spinlock, then 
the machine is dead _anyway_. 

So what I would suggest is to just ignore the above problem. No amount of 
workqueue logic will help it - if the oops happened while an interrupt 
held a critical mtd lock, that lock will _never_ be released, so exactly 
what would be helped?

Now, I realize that _if_ you treat mtdoops as a 'console' layer, then you 
need to do that crazy thing, because you still want the oops to print out 
to the other consoles, and you're only getting data one line at a time. 
But since that was the wrong thing to do for a lot of other reasons 
anyway, that's not a very good argument.

Once you do the final flush in a controlled place _after_ you've printed 
out all the oops information, you simply don't care about locks any more. 
Because if you were holding critical locks, you're done anyway.

Sure, maybe you want to do a "trylock()" and skip the oops flush entirely 
in the mtd layer if you can't do it, but it's the "let's use a workqueue" 
or something that doesn't seem to make a lot of sense to me.

			Linus

  reply	other threads:[~2009-10-12 17:43 UTC|newest]

Thread overview: 71+ 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 [this message]
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
     [not found]                                               ` <1259580207.19465.379.camel@macbook.infradead.org>
     [not found]                                                 ` <20091130123752.39727115@marrow.netinsight.se>
     [not found]                                                   ` <1259582202.19465.388.camel@macbook.infradead.org>
2009-11-30 12:03                                                     ` 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
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=alpine.LFD.2.01.0910121036330.3438@localhost.localdomain \
    --to=torvalds@linux-foundation.org \
    --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 \
    /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