All of lore.kernel.org
 help / color / mirror / Atom feed
From: PFC <lists@peufeu.com>
To: reiserfs-list@namesys.com
Subject: Re: reiser4: first impression (vs xfs and jfs)
Date: Wed, 07 Jun 2006 19:21:31 +0200	[thread overview]
Message-ID: <op.tasc55h6cigqcu@apollo13> (raw)
In-Reply-To: <4485D6E0.8090406@namesys.com>


>>     Do the file copying programs open their output files with
>> O_SEQUENTIAL ?  If so, there is information to exploit...
>>
>>
> You can change them to do so....

	I rather meant : if a program opens a file for write with O_SEQUENTIAL  
(which should be done when copying files), will reiser4 exploit the  
information by flushing sooner, and in a more "streaming" fashion ? Or  
will it use the default algorithm, flushing under memory pressure ?

	The current behaviour of reiser4, flushing dirty pages late in case they  
are modified again before being written, is excellent for many use cases  
(random writes, small file writes, temporary files, copying files inside a  
single spindle etc) ; but it isn't optimal for writing large amounts of  
data in sequential fashion, like copying large files between disks, for  
instance. Adapting this would be quite tricky I guess...

	Consider the two following scenarios :

	- A database is doing an UPDATE query on a table. It will issue a lot of  
reads and writes, probably in random order. In this case, if the working  
set fits in RAM, it pays big time to flush as late as possible, ideally  
when the query is finished, because some pages may be written to multiple  
times. Also, delayed allocation will reduce fragmentation of the files.
	It's the same thing for doing a Make, unzipping an archive, copying many  
small files, etc.

	- A process acquires audio or video in realtime and streams it to disk,  
or copies files from one disk to another. In this case it is better to  
stream the data directly to disk, especially if the files are large.

	Guessing is a pain in the ass. How can the application inform the  
filesystem of its intentions ?



  reply	other threads:[~2006-06-07 17:21 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-05-23 15:51 reiser4: first impression (vs xfs and jfs) Tom Vier
2006-05-23 19:08 ` Gregory Maxwell
2006-05-23 19:13 ` Alexey Polyakov
     [not found]   ` <20060523201712.GD25889@zero>
2006-05-23 21:00     ` Alexey Polyakov
2006-06-06 13:44 ` Tom Vier
2006-06-06 14:38   ` Vladimir V. Saveliev
2006-06-06 15:30     ` Clay Barnes
2006-06-06 17:47       ` PFC
2006-06-06 19:26         ` Hans Reiser
2006-06-07 17:21           ` PFC [this message]
2006-06-06 19:25       ` Hans Reiser
2006-06-07  0:13         ` Clay Barnes
2006-06-07  0:42           ` Hans Reiser
2006-06-08  0:55           ` Nate Diller
2006-06-08 14:18             ` Tom Vier
2006-06-08 14:06         ` Tom Vier
2006-06-09  8:05           ` Hans Reiser
2006-06-07 17:58     ` Tom Vier
2006-06-08  0:41       ` Nate Diller

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=op.tasc55h6cigqcu@apollo13 \
    --to=lists@peufeu.com \
    --cc=reiserfs-list@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.