Re: Back to the future.

Pavel Machek
2007-05-03T15:30:34Z

Hi!

> > 1) if the kernel threads are frozen, we know that they don't hold any locks
> > that could interfere with the freezing of device drivers,
> > 2) if they are frozen, we know, for example, that they won't call user mode
> > helpers or do similar things,
> > 3) if they are frozen, we know that they won't submit I/O to disks and
> > potentially damage filesystems (suspend2 has much more problems with that
> > than swsusp, but still. And yes, there have been bug reports related to it,
> > so it's not just my fantasy).
>
> NONE of these are valid explanations at all. You're listing totally
> theoretical problems, and ignoring all the _real_ problems that trying to
> freeze kernel threads has _caused_.

xfs problem was real. And I do not see that many problems caused by
freezing kernel threads: at least you get deadlocks, not silent fs
corruption.

> And no, kernel threads do not submit IO to disks on their own. You just
> made that up. Yes, they can be involved in that whole disk submission
> thing, but in a good way - they can be required in order to make disk
> writing work!

Yep, so we have md doing io while we are doing atomic copy. That
probably means it will continue when atomic copy is done... getting
image out of sync with disk.

(Plus we used to have bdflush, doing periodic writes to disk).

> The problem that suspend has had is that it's done everything totally the
> wrong way around. Do kernel threads do disk IO? Sure, if asked to do so.
> For example, kernel threads can be involved in md etc, but that's a *good*
> thing. The way to shut them up is not to freeze the threads, but to freeze
> the *disk*.

Well, if freezing the disk was available, I'd gladly do it. Is there
easy way to implement that?
Pavel
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html