All of lore.kernel.org
 help / color / mirror / Atom feed
From: Valentine Sinitsyn <Valentine.Sinitsyn@usu.ru>
To: Alexander Zarochentsev <zam@namesys.com>
Cc: reiserfs-list@namesys.com
Subject: Re[2]: reiser4 and laptop_mode
Date: Wed, 19 Oct 2005 18:22:20 +0600	[thread overview]
Message-ID: <768831735.20051019182220@usu.ru> (raw)
In-Reply-To: <200510191233.48315.zam@namesys.com>

Hi all,

Wednesday, October 19, 2005, 2:33:47 PM, you wrote:

AZ> On Tuesday 18 October 2005 06:34, Gregory Maxwell wrote:
>> On 10/17/05, Hans Reiser <reiser@namesys.com> wrote:
>> > > In fact, if you have enough RAM, you won't ever touch the
>> > >disk -- deleting a file before it's committed means it never touches
>> > > disk.
>> > >
>> > >It is not as spindown-friendly as laptop_mode, which notices when the
>> > >drive has to spin up anyway (maybe through a read) and flushes all
>> > >writes.  Don't know if they are compatible.
>> >
>> > We should work to integrate well with it.  Zam, can you look at that?
>> > Thanks.
>>
>> Actually, laptop mode flushes when there is a write and sync all
>> pending transactions just before spindown. (delaying the write as long
>> as possible to hopefully get as much in one pass as possible).

AZ> Does the kernel really know when the disk spins down? 
I don't think so. As far as I understand from linux-2.6.10 sources and
docs, laptop_mode works in a following way: it gently "removes"
all pdflush() calls in memory-management code and creates a timer with
pdflush(sys_sync(),0) as callback function. Then, every operation which can cause
spin-up (maybe even reading, but I don't know for sure) advance this
timer for laptop_mode*HZ amount of seconds thus guaranteeing that no
writing of dirty-pages will occur during this period and hard disk
will have time to spin-down. So, to conclude, kernel does not know
when disk spins down but it know the functions which may cause him to
spin-up.

>> In the future when enough API is exposed to make a nice interface for
>> multi-syscall transactions with partial sync (i.e. only forced syncs
>> of blocks related to transactions which demand physical fixation), it
>> would be nice if the commit logic were smart enough to grab other
>> nearby small transactions and batch them into the same commit.

AZ> If there is a fs-specific 'prepare-to-disk-spindown' hook we can scan the atom
AZ> list and commit all atoms which may cause the disk to be woken up too early.
Don't know anything about hooks. As I've said earlier, the only
filesystem which deals with laptop_mode explicitly is XFS and the
reason (in my opinion) is because it has it's own syncing daemon
separate from mm-code and the rest.

I'm not quite familiar with kernel internals but I suspect that if
Reiser4 use standard kernel facilities to commit atoms (and these
writeback functions are aware of laptop_mode), it should be compatible
in sense I've asked for.

Best regards,
Valentine


  reply	other threads:[~2005-10-19 12:22 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-10-17 10:24 reiser4 and laptop_mode Sinitsyn Valentine
2005-10-17 23:04 ` David Masover
2005-10-18  2:28   ` Hans Reiser
2005-10-18  2:34     ` Gregory Maxwell
2005-10-18 16:06       ` Alexander Zarochentsev
2005-10-19  8:33       ` Alexander Zarochentsev
2005-10-19 12:22         ` Valentine Sinitsyn [this message]
2005-10-19 14:48         ` Re[2]: " Valentine Sinitsyn
2005-10-18  9:47     ` Valentine Sinitsyn
2005-10-18 15:49       ` Hans Reiser

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=768831735.20051019182220@usu.ru \
    --to=valentine.sinitsyn@usu.ru \
    --cc=reiserfs-list@namesys.com \
    --cc=zam@namesys.com \
    /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.