Re: [PATCH] updated reiser4 - reduced cpu usage for writes by writing more than 4k at a time (has implications for generic write code and eventually for the IO layer)

Vladimir V. Saveliev
2006-06-08T12:10:41Z

Hello

On Thu, 2006-06-08 at 13:35 +0200, Jens Axboe wrote:
> On Thu, Jun 08 2006, Vladimir V. Saveliev wrote:
> > Hello
> >
> > On Thu, 2006-06-08 at 13:00 +0200, Jens Axboe wrote:
> > > On Wed, May 24 2006, Hans Reiser wrote:
> > > > Tom Vier wrote:
> > > >
> > > > >On Tue, May 23, 2006 at 01:14:54PM -0700, Hans Reiser wrote:
> > > > >
> > > > >
> > > > >>underlying FS can be improved. Performance results show that the new
> > > > >>code consumes 40% less CPU when doing "dd bs=1MB ....." (your hardware,
> > > > >>and whether the data is in cache, may vary this result). Note that this
> > > > >>has only a small effect on elapsed time for most hardware.
> > > > >>
> > > > >>
> > > > >
> > > > >Write requests in linux are restricted to one page?
> > > > >
> > > > >
> > > > >
> > > > It may go to the kernel as a 64MB write, but VFS sends it to the FS as
> > > > 64MB/4k separate 4k writes.
> > >
> > > Nonsense,
> >
> > Hans refers to generic_file_write which does
> > prepare_write
> > copy_from_user
> > commit_write
> > for each page.
>
> Provide your own f_op->write() ?
>
Yes, a filesystem can do that. But it is more welcomed to kernel if it
writes/reads using generic functions.

> > > there are ways to get > PAGE_CACHE_SIZE writes in one chunk.
> > > Other file systems have been doing it for years.
> > >
> >
> > Would you, please, say more about it.
>
> Use writepages?
>
This is about flushing, not sys_write.