Re: ext3: kjournald and spun-down disks

Daniel Kobras (kobras@tat.physik.uni-tuebingen.de)
Tue, 27 Nov 2001 00:25:25 +0100


On Fri, Nov 23, 2001 at 05:25:46PM -0800, Andrew Morton wrote:
> Also, if we had appropriate hooks into the request layer, we could detect
> when the disk was being spun up for a read, and opporunistically flush
> out any pending writes.

Actually you can't. SCSI spinup code isn't very useful anyway, and IDE disks
mostly handle spinup themselves. The kernel has too issue a reset to get a
disk back alive from sleep mode, but revival from standby doesn't involve
the kernel at all. When using the disk's internal timer, it isn't involved in
spindown either. Teaching the request layer about disk state might therefore
turn out to become rather messy, I suspect.

> Tell me if this is joyful:
[...]
> - transaction->t_expires = jiffies + journal->j_commit_interval;
> + transaction->t_expires = jiffies + dirty_buffer_flush_interval();

This change doesn't take care of kupdated's most interesting feature, i.e.
that you can entirely stop it (with a flush interval of zero and/or a
SIGSTOP). Now, if kjournald honoured SIGSTOP/SIGCONT, I could teach noflushd
to handle the spindown issue in userland. Uh, at least for one small detail:
Is there a way to tell which kjournald process is associated to which
partition? A fake cmdline, or an fd to the partition's device node that
shows up in /proc/<pid>/fd would indeed be quite helpful.

Regards,

Daniel.

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