All of lore.kernel.org
 help / color / mirror / Atom feed
From: Bart Van Assche <Bart.VanAssche@wdc.com>
To: "bmarzins@redhat.com" <bmarzins@redhat.com>,
	"mcgrof@kernel.org" <mcgrof@kernel.org>
Cc: "boris.ostrovsky@oracle.com" <boris.ostrovsky@oracle.com>,
	"ONeukum@suse.com" <ONeukum@suse.com>,
	"linux-block@vger.kernel.org" <linux-block@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"nborisov@suse.com" <nborisov@suse.com>,
	"oleg.b.antonyan@gmail.com" <oleg.b.antonyan@gmail.com>,
	"linux-pm@vger.kernel.org" <linux-pm@vger.kernel.org>,
	"linux-xfs@vger.kernel.org" <linux-xfs@vger.kernel.org>,
	"pavel@ucw.cz" <pavel@ucw.cz>,
	"darrick.wong@oracle.com" <darrick.wong@oracle.com>,
	"viro@zeniv.linux.org.uk" <viro@zeniv.linux.org.uk>,
	"ming.lei@redhat.com" <ming.lei@redhat.com>,
	"dan.j.williams@intel.com" <dan.j.williams@intel.com>,
	"rjw@rjwysocki.net" <rjw@rjwysocki.net>,
	"jgross@suse.com" <jgross@suse.com>,
	"oleksandr@natalenko.name" <oleksandr@natalenko.name>,
	"yu.chen.surf@gmail.com" <yu.chen.surf@gmail.com>,
	"todd.e.brandt@linux.intel.com" <todd.e.brandt@linux.intel.com>,
	"martin.petersen@oracle.com" <martin.petersen@oracle.com>,
	"linux-fsdevel@vger.kernel.org" <linux-fsdevel@vger.kernel.org>,
	"jikos@kernel.org" <jikos@kernel.org>,
	"len.brown@intel.com" <len.brown@intel.com>,
	"tytso@mit.edu" <tytso@mit.edu>, "jack@suse.cz" <jack@suse.cz>
Subject: Re: [PATCH 00/11] fs: use freeze_fs on suspend/hibernate
Date: Thu, 30 Nov 2017 20:53:52 +0000	[thread overview]
Message-ID: <1512075231.2774.17.camel@wdc.com> (raw)
In-Reply-To: <20171130194249.GK729@wotan.suse.de>

T24gVGh1LCAyMDE3LTExLTMwIGF0IDIwOjQyICswMTAwLCBMdWlzIFIuIFJvZHJpZ3VleiB3cm90
ZToNCj4gT24gVGh1LCBOb3YgMzAsIDIwMTcgYXQgMDU6MDE6MTNQTSArMDAwMCwgQmFydCBWYW4g
QXNzY2hlIHdyb3RlOg0KPiA+IFRoZSBtZCByZXN5bmMNCj4gPiB0aHJlYWQgbXVzdCBiZSBzdG9w
cGVkIGJlZm9yZSBhIHN5c3RlbSBpcyBmcm96ZW4uIFRvZGF5IHRoZSBtZCBkcml2ZXIgdXNlcw0K
PiA+IHRoZSBrdGhyZWFkIGZyZWV6aW5nIG1lY2hhbmlzbSBmb3IgdGhhdCBwdXJwb3NlLiBEbyB5
b3UgaGF2ZSBhIHBsYW4gZm9yDQo+ID4gaGFuZGxpbmcgdGhlIG1vcmUgY29tcGxpY2F0ZWQgc2Nl
bmFyaW9zLCBlLmcuIGEgZmlsZXN5c3RlbSB0aGF0IGV4aXN0cyBvbiB0b3ANCj4gPiBvZiBhbiBt
ZCBkZXZpY2Ugd2hlcmUgdGhlIG1kIGRldmljZSB1c2VzIG9uZSBvciBtb3JlIGZpbGVzIGFzIGJh
Y2tpbmcgc3RvcmUNCj4gPiBhbmQgd2l0aCB0aGUgbG9vcCBkcml2ZXIgYmV0d2VlbiB0aGUgbWQg
ZGV2aWNlIGFuZCB0aGUgZmlsZXM/DQo+IA0KPiBOb3BlIG5vdCB5ZXQuIEl0IHNlZW1zIHlvdSBo
YXZlIGdpdmVuIHRoaXMgc29tZSB0aG91Z2h0IHRob3VnaCBzbyB5b3UncmUgDQo+IGhlbHAgaGVy
ZSBpcyBncmVhdGx5IGFwcHJlY2lhdGVkLiBJbiBmYWN0IHRoZSB3YXkgd2Ugc2hvdWxkIHNlZSB0
aGUgbG9uZw0KPiB0ZXJtICdraWxsIGt0aHJlYWQgZnJlZXppbmcnIGVmZm9ydCBzaG91bGQgYmUg
YSBjb2xsYWJvcmF0aXZlIG9uZS4gSSd2ZQ0KPiBuZXZlciB0b3VjaGVkIG1kLCBzbyBmb2xrcyBt
b3JlIGZhbWlsaWFyIHdpdGggbWQgc2hvdWxkIGdpdmUgdGhpcyBzb21lDQo+IHRob3VnaHQuDQo+
IA0KPiBDYW4gZm9yIGluc3RhbmNlIG1kIHJlZ2lzdGVyX3BtX25vdGlmaWVyKCkgYW5kIHJlZ2lz
dGVyX3N5c2NvcmVfb3BzKCkNCj4gYW5kIGRvIGhhbmR5IHdvcmsgdG8gcGF1c2Ugc29tZSB3b3Jr
IHRvIHJlcGxhY2Uga3RocmVhZCBmcmVlemluZz8NCj4gTm90ZSB0aGF0IEkgYmVsaWV2ZSBhIHBt
IG5vdGlmaWVyIGlzIG5lZWRlZCBpbiBjYXNlIHN5c2NvcmVfc3VzcGVuZCgpDQo+IGlzIG5vdCBj
YWxsZWQsIHNheSBvbiBhIHN1c3BlbmQgZmFpbC4NCg0KU29ycnkgYnV0IEkgZG9uJ3QgdGhpbmsg
dGhhdCBhIHNvbHV0aW9uIGNhbiBiZSBiYXNlZCBvbiBhIG5vdGlmaWVyIG1lY2hhbmlzbS4NCkZy
ZWV6aW5nIGhhcyB0byBoYXBwZW4gaW4gdGhlIG9yZGVyIGluIHdoaWNoIGRyaXZlcnMgYW5kIGZp
bGVzeXN0ZW1zIGhhdmUNCmJlZW4gc3RhY2tlZCAoZmlsZXN5c3RlbSA+IG1kIGRldmljZSA+IGZp
bGVzeXN0ZW0gZm9yIHRoZSBhYm92ZSBleGFtcGxlKS4NClNpbmNlIHRoZSBvcmRlciBpbiB3aGlj
aCBub3RpZmllcnMgYXJlIGNhbGxlZCBpcyByZWxhdGVkIHRvIHRoZSBvcmRlciBpbg0Kd2hpY2gg
bm90aWZpZXJzIGhhdmUgYmVlbiByZWdpc3RlcmVkIEkgZG9uJ3QgdGhpbmsgdGhhdCBhIHNvbHV0
aW9uIGZvciB0aGUNCmV4YW1wbGUgSSBkZXNjcmliZWQgY2FuIGJlIGJhc2VkIG9uIG5vdGlmaWVy
cy4gV2hhdCBJIHRoaW5rIHdlIG5lZWQgaXMgYQ0KbWVjaGFuaXNtIGZvciB0cmF2ZXJzaW5nIHRo
ZSBzdG9yYWdlIHN0YWNrIHRoYXQgaW5jbHVkZXMgYmxvY2sgZHJpdmVycyBhbmQNCmFuIGVxdWl2
YWxlbnQgb2YgZnJlZXplX2ZzKCkgZm9yIGJsb2NrIGRyaXZlcnMuIEZyZWV6aW5nIHNob3VsZCBv
Y2N1ciBieQ0KY2FsbGluZyB0aGUgZnJlZXplX2ZzKCkgbWV0aG9kcyBmb3IgZWFjaCBzdG9yYWdl
IGxheWVyIHN0YXJ0aW5nIGF0IHRoZSB0b3Agb2YNCnRoZSBzdG9yYWdlIHN0YWNrIGFuZCBwcm9j
ZWVkaW5nIHRvd2FyZHMgdGhlIGJvdHRvbS4NCg0KQmFydC4=

WARNING: multiple messages have this Message-ID (diff)
From: Bart Van Assche <Bart.VanAssche@wdc.com>
To: "bmarzins@redhat.com" <bmarzins@redhat.com>,
	"mcgrof@kernel.org" <mcgrof@kernel.org>
Cc: "boris.ostrovsky@oracle.com" <boris.ostrovsky@oracle.com>,
	"ONeukum@suse.com" <ONeukum@suse.com>,
	"linux-block@vger.kernel.org" <linux-block@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"nborisov@suse.com" <nborisov@suse.com>,
	"oleg.b.antonyan@gmail.com" <oleg.b.antonyan@gmail.com>,
	"linux-pm@vger.kernel.org" <linux-pm@vger.kernel.org>,
	"linux-xfs@vger.kernel.org" <linux-xfs@vger.kernel.org>,
	"pavel@ucw.cz" <pavel@ucw.cz>,
	"darrick.wong@oracle.com" <darrick.wong@oracle.com>,
	"viro@zeniv.linux.org.uk" <viro@zeniv.linux.org.uk>,
	"ming.lei@redhat.com" <ming.lei@redhat.com>,
	"dan.j.williams@intel.com" <dan.j.williams@intel.com>,
	"rjw@rjwysocki.net" <rjw@rjwysocki.net>,
	"jgross@suse.com" <jgross@suse.com>,
	"oleksandr@natalenko.name" <oleksandr@natalenko.name>,
	"yu.chen.surf@gmail.com" <yu.chen.surf@gmail.com>,
	"todd.e.brandt@linux.intel.com" <todd.e.brandt@linux.intel.com>,
	"martin.petersen@oracle.com" <martin.petersen@oracle.com>,
	"linux-fsdevel@vger.kernel.org" <linux-fsdevel@vger.kernel.org>,
	"jikos@kernel.org" <jikos@kernel.org>,
	"len.brown@intel.com" <len.brown@intel.com>,
	"tytso@mit.edu" <tytso@mit.edu>, "jack@suse.cz" <jack@suse.cz>
Subject: Re: [PATCH 00/11] fs: use freeze_fs on suspend/hibernate
Date: Thu, 30 Nov 2017 20:53:52 +0000	[thread overview]
Message-ID: <1512075231.2774.17.camel@wdc.com> (raw)
In-Reply-To: <20171130194249.GK729@wotan.suse.de>

On Thu, 2017-11-30 at 20:42 +0100, Luis R. Rodriguez wrote:
> On Thu, Nov 30, 2017 at 05:01:13PM +0000, Bart Van Assche wrote:
> > The md resync
> > thread must be stopped before a system is frozen. Today the md driver uses
> > the kthread freezing mechanism for that purpose. Do you have a plan for
> > handling the more complicated scenarios, e.g. a filesystem that exists on top
> > of an md device where the md device uses one or more files as backing store
> > and with the loop driver between the md device and the files?
> 
> Nope not yet. It seems you have given this some thought though so you're 
> help here is greatly appreciated. In fact the way we should see the long
> term 'kill kthread freezing' effort should be a collaborative one. I've
> never touched md, so folks more familiar with md should give this some
> thought.
> 
> Can for instance md register_pm_notifier() and register_syscore_ops()
> and do handy work to pause some work to replace kthread freezing?
> Note that I believe a pm notifier is needed in case syscore_suspend()
> is not called, say on a suspend fail.

Sorry but I don't think that a solution can be based on a notifier mechanism.
Freezing has to happen in the order in which drivers and filesystems have
been stacked (filesystem > md device > filesystem for the above example).
Since the order in which notifiers are called is related to the order in
which notifiers have been registered I don't think that a solution for the
example I described can be based on notifiers. What I think we need is a
mechanism for traversing the storage stack that includes block drivers and
an equivalent of freeze_fs() for block drivers. Freezing should occur by
calling the freeze_fs() methods for each storage layer starting at the top of
the storage stack and proceeding towards the bottom.

Bart.

WARNING: multiple messages have this Message-ID (diff)
From: Bart Van Assche <Bart.VanAssche@wdc.com>
To: "bmarzins@redhat.com" <bmarzins@redhat.com>,
	"mcgrof@kernel.org" <mcgrof@kernel.org>
Cc: "boris.ostrovsky@oracle.com" <boris.ostrovsky@oracle.com>,
	"ONeukum@suse.com" <ONeukum@suse.com>,
	"linux-block@vger.kernel.org" <linux-block@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"nborisov@suse.com" <nborisov@suse.com>,
	"oleg.b.antonyan@gmail.com" <oleg.b.antonyan@gmail.com>,
	"linux-pm@vger.kernel.org" <linux-pm@vger.kernel.org>,
	"linux-xfs@vger.kernel.org" <linux-xfs@vger.kernel.org>,
	"pavel@ucw.cz" <pavel@ucw.cz>,
	"darrick.wong@oracle.com" <darrick.wong@oracle.com>,
	"viro@zeniv.linux.org.uk" <viro@zeniv.linux.org.uk>,
	"ming.lei@redhat.com" <ming.lei@redhat.com>,
	"dan.j.williams@intel.com" <dan.j.williams@intel.com>,
	"rjw@rjwysocki.net" <rjw@rjwysocki.net>,
	"jgross@suse.com" <jgross@suse.com>"oleksandr@natalenko.name" <o>
Subject: Re: [PATCH 00/11] fs: use freeze_fs on suspend/hibernate
Date: Thu, 30 Nov 2017 20:53:52 +0000	[thread overview]
Message-ID: <1512075231.2774.17.camel@wdc.com> (raw)
In-Reply-To: <20171130194249.GK729@wotan.suse.de>

On Thu, 2017-11-30 at 20:42 +0100, Luis R. Rodriguez wrote:
> On Thu, Nov 30, 2017 at 05:01:13PM +0000, Bart Van Assche wrote:
> > The md resync
> > thread must be stopped before a system is frozen. Today the md driver uses
> > the kthread freezing mechanism for that purpose. Do you have a plan for
> > handling the more complicated scenarios, e.g. a filesystem that exists on top
> > of an md device where the md device uses one or more files as backing store
> > and with the loop driver between the md device and the files?
> 
> Nope not yet. It seems you have given this some thought though so you're 
> help here is greatly appreciated. In fact the way we should see the long
> term 'kill kthread freezing' effort should be a collaborative one. I've
> never touched md, so folks more familiar with md should give this some
> thought.
> 
> Can for instance md register_pm_notifier() and register_syscore_ops()
> and do handy work to pause some work to replace kthread freezing?
> Note that I believe a pm notifier is needed in case syscore_suspend()
> is not called, say on a suspend fail.

Sorry but I don't think that a solution can be based on a notifier mechanism.
Freezing has to happen in the order in which drivers and filesystems have
been stacked (filesystem > md device > filesystem for the above example).
Since the order in which notifiers are called is related to the order in
which notifiers have been registered I don't think that a solution for the
example I described can be based on notifiers. What I think we need is a
mechanism for traversing the storage stack that includes block drivers and
an equivalent of freeze_fs() for block drivers. Freezing should occur by
calling the freeze_fs() methods for each storage layer starting at the top of
the storage stack and proceeding towards the bottom.

Bart.

  reply	other threads:[~2017-11-30 20:53 UTC|newest]

Thread overview: 59+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-11-29 23:23 [PATCH 00/11] fs: use freeze_fs on suspend/hibernate Luis R. Rodriguez
2017-11-29 23:23 ` [PATCH 01/11] fs: provide unlocked helper for freeze_super() Luis R. Rodriguez
2017-11-30 16:58   ` Jan Kara
2017-11-29 23:23 ` [PATCH 02/11] fs: provide unlocked helper thaw_super() Luis R. Rodriguez
2017-11-30 16:59   ` Jan Kara
2017-11-29 23:23 ` [PATCH 03/11] fs: add frozen sb state helpers Luis R. Rodriguez
2017-11-30 17:13   ` Jan Kara
2017-11-30 19:05     ` Luis R. Rodriguez
2017-12-01 11:47       ` Jan Kara
2017-12-01 21:13         ` Luis R. Rodriguez
2017-12-21 11:03           ` Jan Kara
2018-04-18  0:59             ` Luis R. Rodriguez
2018-04-18 10:12               ` Jan Kara
2018-04-20 18:49               ` Luis R. Rodriguez
2018-04-21 23:53                 ` Jan Kara
2018-04-22  1:22                   ` Luis R. Rodriguez
2018-04-22  2:53     ` Luis R. Rodriguez
2017-11-29 23:23 ` [PATCH 04/11] fs: distinguish between user initiated freeze and kernel initiated freeze Luis R. Rodriguez
2017-11-29 23:23 ` [PATCH 05/11] fs: add iterate_supers_excl() and iterate_supers_reverse_excl() Luis R. Rodriguez
2017-11-29 23:48   ` Rafael J. Wysocki
2017-11-29 23:48     ` Rafael J. Wysocki
2017-11-30  0:22     ` Luis R. Rodriguez
2017-11-30  0:22       ` Luis R. Rodriguez
2017-11-30  1:34     ` Dave Chinner
2017-11-30  1:34       ` Dave Chinner
2017-11-30  1:40       ` Rafael J. Wysocki
2017-11-30  1:40         ` Rafael J. Wysocki
2017-11-30 16:57   ` Jan Kara
2017-11-29 23:23 ` [PATCH 06/11] fs: freeze on suspend and thaw on resume Luis R. Rodriguez
2017-11-29 23:23 ` [PATCH 07/11] xfs: remove not needed freezing calls Luis R. Rodriguez
2017-11-30 16:21   ` Jan Kara
2017-11-30 20:32     ` Rafael J. Wysocki
2017-11-30 20:32       ` Rafael J. Wysocki
2017-11-30 23:30       ` Dave Chinner
2017-11-30 23:30         ` Dave Chinner
2017-11-30 23:40         ` Rafael J. Wysocki
2017-11-30 23:40           ` Rafael J. Wysocki
2017-11-29 23:23 ` [PATCH 08/11] ext4: " Luis R. Rodriguez
2017-11-29 23:23 ` [PATCH 09/11] f2fs: " Luis R. Rodriguez
2017-11-29 23:23 ` [PATCH 10/11] nilfs2: " Luis R. Rodriguez
2017-11-29 23:23 ` [PATCH 11/11] jfs: " Luis R. Rodriguez
2017-11-30 16:36 ` [PATCH 00/11] fs: use freeze_fs on suspend/hibernate Yu Chen
2017-11-30 16:41   ` Jiri Kosina
2017-11-30 16:50     ` Yu Chen
2017-12-01 19:05     ` Jeff Layton
2017-12-01 21:51       ` Dave Chinner
2017-11-30 17:01 ` Bart Van Assche
2017-11-30 17:01   ` Bart Van Assche
2017-11-30 19:42   ` Luis R. Rodriguez
2017-11-30 19:42     ` Luis R. Rodriguez
2017-11-30 20:53     ` Bart Van Assche [this message]
2017-11-30 20:53       ` Bart Van Assche
2017-11-30 20:53       ` Bart Van Assche
2017-11-30 21:03       ` Dave Chinner
2017-11-30 21:03         ` Dave Chinner
2017-11-30 21:51 ` Pavel Machek
2017-12-01  0:44   ` Luis R. Rodriguez
2017-12-13  1:09 ` Rafael J. Wysocki
2017-12-19 16:50   ` Luis R. Rodriguez

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=1512075231.2774.17.camel@wdc.com \
    --to=bart.vanassche@wdc.com \
    --cc=ONeukum@suse.com \
    --cc=bmarzins@redhat.com \
    --cc=boris.ostrovsky@oracle.com \
    --cc=dan.j.williams@intel.com \
    --cc=darrick.wong@oracle.com \
    --cc=jack@suse.cz \
    --cc=jgross@suse.com \
    --cc=jikos@kernel.org \
    --cc=len.brown@intel.com \
    --cc=linux-block@vger.kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=linux-xfs@vger.kernel.org \
    --cc=martin.petersen@oracle.com \
    --cc=mcgrof@kernel.org \
    --cc=ming.lei@redhat.com \
    --cc=nborisov@suse.com \
    --cc=oleg.b.antonyan@gmail.com \
    --cc=oleksandr@natalenko.name \
    --cc=pavel@ucw.cz \
    --cc=rjw@rjwysocki.net \
    --cc=todd.e.brandt@linux.intel.com \
    --cc=tytso@mit.edu \
    --cc=viro@zeniv.linux.org.uk \
    --cc=yu.chen.surf@gmail.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.