linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Luis R. Rodriguez" <mcgrof@kernel.org>
To: "Rafael J. Wysocki" <rafael@kernel.org>
Cc: Bart Van Assche <Bart.VanAssche@wdc.com>,
	"darrick.wong@oracle.com" <darrick.wong@oracle.com>,
	"mcgrof@kernel.org" <mcgrof@kernel.org>,
	"jlayton@redhat.com" <jlayton@redhat.com>,
	"jikos@kernel.org" <jikos@kernel.org>,
	"jack@suse.cz" <jack@suse.cz>,
	"david@fromorbit.com" <david@fromorbit.com>,
	"lsf-pc@lists.linux-foundation.org"
	<lsf-pc@lists.linux-foundation.org>,
	"linux-fsdevel@vger.kernel.org" <linux-fsdevel@vger.kernel.org>
Subject: Re: [LSF/MM TOPIC] Phasing out kernel thread freezing
Date: Sat, 24 Feb 2018 03:27:40 +0000	[thread overview]
Message-ID: <20180224032740.GC14069@wotan.suse.de> (raw)
In-Reply-To: <CAJZ5v0g+Kif3LvSCPtZTKhZ6qLpU0fcGYK3n4dzFFc070zTYiw@mail.gmail.com>

On Mon, Feb 05, 2018 at 09:28:37AM +0100, Rafael J. Wysocki wrote:
> On Sun, Feb 4, 2018 at 11:41 PM, Bart Van Assche <Bart.VanAssche@wdc.com> wrote:
> > On Wed, 2018-01-31 at 11:10 -0800, Darrick J. Wong wrote:
> >> For a brief moment I pondered whether it would make sense to make
> >> filesystems part of the device model so that the suspend code could work
> >> out fs <-> bdev dependencies and know in which order to freeze
> >> filesystems and quiesce devices, but every time I go digging into how
> >> all those macros work I get confused and my eyes glaze over, so I don't
> >> know if this is at all a good idea or just confused ramblings.
> >
> > If we have to go this way: shouldn't we introduce a new abstraction
> > ("storage stack element" or similar) rather than making filesystems part of
> > the device model?
> 
> That would be my approach.
> 
> Trying to "suspend" filesystems at the same time as I/O devices (and
> all of that asynchronously) may be problematic for ordering reasons
> and similar.

Oh look, another ordering issue. And this is why I was not a fan of the
device link API even though that is what we got merged. Moving on...

> Moreover, during hibernation devices are suspended for two times (and
> resumed in between, of course) whereas filesystems only need to be
> "suspended" once.

>From your point of view yes, but actually internally the VFS layer or
filesystems themselves may end up re-using this mechanism later for
other things like -- snapshotting. And if some folks have it the way
they want it, we may need a dependency map between filesystems anyway
for filesystem specific reasons.

> With that in mind, I would add a mechanism allowing filesystems (and
> possibly other components of the storage stack) to register a set of
> callbacks for suspend and resume and then invoking those callbacks in
> a specific order.

That's what I had done in my series, the issue here is order. Order in my
series is simple but should work for starters, later however I suspect we'll
need something more robust to help.

  Luis

  reply	other threads:[~2018-02-24  3:27 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-01-26  9:09 [LSF/MM TOPIC] Phasing out kernel thread freezing Luis R. Rodriguez
2018-01-31 19:10 ` Darrick J. Wong
2018-02-04 22:41   ` Bart Van Assche
2018-02-05  8:28     ` Rafael J. Wysocki
2018-02-24  3:27       ` Luis R. Rodriguez [this message]
2018-02-25  9:45         ` Rafael J. Wysocki
2018-02-25 17:22           ` Luis R. Rodriguez
2018-02-26  9:25             ` Rafael J. Wysocki
2018-02-26 12:44               ` Jan Kara
2018-02-26 13:27                 ` Rafael J. Wysocki

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=20180224032740.GC14069@wotan.suse.de \
    --to=mcgrof@kernel.org \
    --cc=Bart.VanAssche@wdc.com \
    --cc=darrick.wong@oracle.com \
    --cc=david@fromorbit.com \
    --cc=jack@suse.cz \
    --cc=jikos@kernel.org \
    --cc=jlayton@redhat.com \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=lsf-pc@lists.linux-foundation.org \
    --cc=rafael@kernel.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;
as well as URLs for NNTP newsgroup(s).