Re: [PATCH 1/1] suspend: delete sys_sync()
From: Alan Stern <stern@rowland.harvard.edu>
Date: 2015-07-05 09:06:46
Also in:
lkml
On Sat, 4 Jul 2015, Rafael J. Wysocki wrote:
The only argument against dropping sys_sync() from the suspend code path I've seen in this thread that I entirely agree with is that it may lead to regressions, because we've done it practically forever and it may hide latent bugs somewhere in block drivers etc. Dropping it, though, is the only way to see those bugs, if any, and if we want to ever fix them, we need to see them. That's why I think that it may be a good idea to allow people to drop it if they are willing to accept some extra risk (via the kernel command line, for example).
I'd be perfectly happy to have the sync selectable at runtime, one way or another. The three most reasonable options seem to be: kernel command line sysfs file sysctl setting The command line is less flexible (it can't be changed after booting). Either of the other two would be fine with me.
Moreover, question is if we really need to carry out the sync on *every* suspend even if it is not pointless overall. That shouldn't really be necessary if we suspend and resume often enough or if we resume only for a while and then suspend again. Maybe it should be rate limited somehow at least?
For example, skip the sync if the system has been awake for < 100 ms? The cutoff time could also be controlled by the sysfs file: -1 => never sync, 0 => always sync, > 0 => sync if the system has been awake longer than the value. Alan Stern