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

Borislav Petkov
2010-12-20T18:58:21Z

On Mon, Dec 20, 2010 at 09:18:25AM -0800, Linus Torvalds wrote:
> 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".

Yeah, I meant simple in the sense of only two steps required.

> 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.

Maybe we should rephrase this as "am I still alive and well," for a
specific definition of well.

> 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.

That could work, I should look deeper into that.

> 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").

Yes, this was exactly what I was trying to say! Do something in a
watchdog handler path that shows that we actually made progress. But
you're right, we'd still need the notification. My look at "did we make
a progress" was too simple and there _are_ nuances which need to be
accounted for.

Thanks.

--
Regards/Gruss,
Boris.