[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20160311175610.GL24046@htj.duckdns.org>
Date: Fri, 11 Mar 2016 12:56:10 -0500
From: Tejun Heo <tj@...nel.org>
To: Jan Kara <jack@...e.cz>
Cc: Peter Chen <hzpeterchen@...il.com>,
Alan Stern <stern@...land.harvard.edu>, florian@...kler.org,
linux-usb@...r.kernel.org, linux-kernel@...r.kernel.org,
usb-storage@...ts.one-eyed-alien.net, Jan Kara <jack@...e.com>,
jkosina@...e.cz
Subject: Re: Freezable workqueue blocks non-freezable workqueue during the
system resume process
Hello, Jan.
On Thu, Mar 03, 2016 at 10:33:10AM +0100, Jan Kara wrote:
> > Ugh... that's nasty. I wonder whether the right thing to do is making
> > writeback workers non-freezable. IOs are supposed to be blocked from
> > lower layer anyway. Jan, what do you think?
>
> Well no, at least currently IO is not blocked in lower layers AFAIK - for
> that you'd need to freeze block devices & filesystems and there are issues
At least libata does and I think SCSI does too, but yeah, there
probably are drivers which depend on block layer blocking IOs, which
btw is a pretty fragile way to go about as upper layers might not be
the only source of activities.
> with that (Jiri Kosina was the last one which was trying to make this work
> AFAIR). And I think you need to stop writeback (and generally any IO) to be
> generated so that it doesn't interact in a strange way with device drivers
> being frozen. So IMO until suspend freezes filesystems & devices properly
> you have to freeze writeback workqueue.
I still think the right thing to do is plugging that block layer or
low level drivers. It's like we're trying to plug multiple sources
when we can plug the point where they come together anyway.
Thanks.
--
tejun
Powered by blists - more mailing lists