From: Andrew Morton <akpm@zip.com.au>
To: Daniel Kobras <kobras@tat.physik.uni-tuebingen.de>
Cc: Oliver Xymoron <oxymoron@waste.org>,
linux-kernel <linux-kernel@vger.kernel.org>
Subject: Re: ext3: kjournald and spun-down disks
Date: Mon, 26 Nov 2001 15:40:03 -0800 [thread overview]
Message-ID: <3C02D2D3.B8BE11A3@zip.com.au> (raw)
In-Reply-To: <Pine.LNX.4.40.0111231859510.4162-100000@waste.org> <3BFEF71A.F32176FE@zip.com.au>, <3BFEF71A.F32176FE@zip.com.au>; from akpm@zip.com.au on Fri, Nov 23, 2001 at 05:25:46PM -0800 <20011127002525.A2912@pelks01.extern.uni-tuebingen.de>
Daniel Kobras wrote:
>
> 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.
Much simpler approach:
if (we're about to read from the disk) {
if (we have dirty data which is > 10 seconds old) {
write_it_now();
}
}
> > 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).
yup.
> 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.
Andreas has a patch which puts the device major/minor into kjournald's
process name.
Simply setting the journal timer to infinity happens to work out OK.
Commits are triggered by kupdate.
This is because kupdate's superblock writeout runs a commit. Because
ext3 is unable to distinguish it from a sys_sync(). Sigh.
-
next prev parent reply other threads:[~2001-11-26 23:41 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-11-24 1:10 ext3: kjournald and spun-down disks Oliver Xymoron
2001-11-24 1:25 ` Andrew Morton
2001-11-24 1:58 ` Oliver Xymoron
2001-11-24 2:32 ` Andrew Morton
2001-11-26 3:15 ` Oliver Xymoron
2001-11-26 3:34 ` Andrew Morton
2001-11-26 15:22 ` Oliver Xymoron
2001-11-26 23:25 ` Daniel Kobras
2001-11-26 23:40 ` Andrew Morton [this message]
2001-11-27 0:18 ` Andreas Dilger
2001-11-27 0:03 ` Andre Hedrick
2001-11-27 0:21 ` Oliver Xymoron
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=3C02D2D3.B8BE11A3@zip.com.au \
--to=akpm@zip.com.au \
--cc=kobras@tat.physik.uni-tuebingen.de \
--cc=linux-kernel@vger.kernel.org \
--cc=oxymoron@waste.org \
/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.