Re: Ext4 and the "30 second window of death"

From: Matthew Garrett
Date: Thu Apr 02 2009 - 21:06:22 EST


On Thu, Apr 02, 2009 at 05:55:11PM -0700, david@xxxxxxx wrote:
> On Fri, 3 Apr 2009, Matthew Garrett wrote:
> >Then they shouldn't use a mail client that fsync()s.
>
> so they need to use one mail client when they want to have good battery
> life and a different one when they are plugged in to power?

They need to make a decision about whether they care about their mailbox
being precisely in sync with their server or not, and either use a
client that adapts appropriately or choose a client that behaves
appropriately. It's certainly not the kernel's business.

> >No. Ignoring fsync() makes it difficult for an application to
> >inappropriately spin up a disk - but it also makes it *impossible* for
> >an application to save data that it genuinely needs to. Doing this in
> >kernel means that you have no granularity. You ignore the inappropriate
> >fsync()s, but you also ignore the ones that are vitally important. I've
> >no objection to the kernel supporting this functionality, but it should
> >be /proc/sys/vm/fuck-my-data-harder rather than
> >/proc/sys/vm/laptop-mode.
> >
> >Power management is a tradeoff. Sometimes providing correct
> >functionality costs more than providing incorrect functionality. In
> >general we strive to carry on providing applications the behaviour they
> >expect even if it costs us more power - the alternative leads to users
> >disabling power management functionality because they can't trust it.
> >Throwing data away isn't an acceptable tradeoff for an extra three
> >minutes of battery life for most users.
>
> I would agree with you if it was three minutes of battery life, but what
> if it's an extra hour? (easily possible if the fsyncs make the difference
> between the drive running all the time and waking up every 5 min for a few
> seconds)

If you can demonstrate a real world use case where the hard drive
(typically well under a watt of power consumption on modern systems)
spindown policy will be affected sufficiently pathologically by a mail
client that you lose an hour of battery life, then I'd rethink this. But
mostly I'd conclude that this was an example of an inappropriate
spindown policy.

--
Matthew Garrett | mjg59@xxxxxxxxxxxxx
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/