ksummit.lists.linux.dev archive mirror
 help / color / mirror / Atom feed
From: "Rafael J. Wysocki" <rjw@rjwysocki.net>
To: Jiri Kosina <jkosina@suse.com>
Cc: ksummit-discuss@lists.linuxfoundation.org
Subject: Re: [Ksummit-discuss] [TECH TOPIC] giving freezer well-defined semantics
Date: Wed, 08 Jul 2015 23:55:09 +0200	[thread overview]
Message-ID: <119701572.LaCIUMEEyV@vostro.rjw.lan> (raw)
In-Reply-To: <alpine.LNX.2.00.1507081015120.10183@pobox.suse.cz>

On Wednesday, July 08, 2015 10:16:39 AM Jiri Kosina wrote:
> On Wed, 8 Jul 2015, Rafael J. Wysocki wrote:
> 
> > OK, it is necessary to ensure that the contents of the image will be 
> > consistent with the state of filesystems on the storage media, so 
> > everything that may change that state should be "frozen" before the 
> > image is created, but "frozen" in terms of "no persistent state changes 
> > from now on" rather than in terms of "no forward progress from now on".
> 
> Yeah. So again, why do we even have freezer for so many kernel threads at 
> all? :)

Well, one reason may be that we've never grown a decent mechanism for freezing
filesystems (as in "no persistent state changes from now on") and people try to
make up for that by stopping things if they can (but in the kernel space that's
inherently racy).

There also are places where it has been forever and no one is sure what happens
after it's been dropped from there.

And there are places where it is used to provide specific guaranees (like in
the runtime PM framework), but might be replaced with a different mechanism.

Essentially, as I said above, the freezer is only really useful for things
requiring the "no forward progress from now on" rule.  There are things like
that in the kernel too, but I bet there are not too many of them.

Thanks,
Rafael

  reply	other threads:[~2015-07-08 21:28 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-07-07 20:42 Jiri Kosina
2015-07-07 21:32 ` Rafael J. Wysocki
2015-07-07 21:13   ` Jiri Kosina
2015-07-07 23:12     ` Rafael J. Wysocki
2015-07-08  8:16       ` Jiri Kosina
2015-07-08 21:55         ` Rafael J. Wysocki [this message]
2015-07-09 11:25           ` Jan Kara
2015-07-10  0:18             ` Rafael J. Wysocki
2015-07-11  5:22 ` Benjamin Herrenschmidt

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=119701572.LaCIUMEEyV@vostro.rjw.lan \
    --to=rjw@rjwysocki.net \
    --cc=jkosina@suse.com \
    --cc=ksummit-discuss@lists.linuxfoundation.org \
    /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