Re: [concept & "good taste" review] persistent store

Linus Torvalds
2010-12-20T17:24:40Z

On Sun, Dec 19, 2010 at 11:26 PM, Borislav Petkov <bp@alien8.de> wrote:
>
> IOW, the simple (maybe too simple) algo of the pstore could be something
> like:

Simple?

> 1. Got a relevant message from kernel, log it.
>
> 2. Am I still alive?

Umm. The "am I still alive" question is traditionally called "the
stopping problem", and is considered to be the traditional example of
_least_ simple problem there is. As in "fundamentally unsolvable".

Did we kill X? Did we happen to hold some critical lock when oopsing?
Was it syslogd itself that died and caused nothing further to be
saved, even if the machine otherwise seems to be fine? Or did the
filesystem go into read-only mode due to the problem and the rest of
the system is fine, but the disk is never going to see the messages?

In other words, the problem really is that "am I still alive" thing.
That's a seriously impossible question to answer.

What _can_ be answered is "did somebody write out the oops, then
fsync, and then notify us about it?" But without explicit notification
of "yeah, it really is saved off somewhere else", we really can't
tell.

We could do heuristics, of course, and they might even work in
practice (like "flush after half an hour if there has been actual work
done and the machine is clearly making progress").

Linus