Re: [PATCH 0/11] Fix page_mkwrite() for blocksize < pagesize
From: Jan Kara
Date: Thu May 28 2009 - 05:36:37 EST
On Wed 27-05-09 21:03:58, Aneesh Kumar K.V wrote:
> On Wed, May 27, 2009 at 03:00:57PM +0200, Jan Kara wrote:
> > patches below are an attempt to solve problems filesystems have with
> > page_mkwrite() when blocksize < pagesize (see the changelog of the third patch
> > for details).
> > The series is against 2.6.30-rc7. The first two patches are just small cleanup
> > and should be merged separately (Ted should have the ext4 cleanup rebased on
> > top of current ext4 tree). For ext3 the fix is done in two phases, in the first
> > we make it to correctly allocate space at page-fault time from page_mkwrite().
> > This has the disadvantage that under random mmaped writes, the file gets much
> > more fragmented and performance of e.g. Berkeley DB drops by ~20%. Therefore
> > in the second phase I've implemented delayed allocation for ext3 and blocks
> > are just reserved during page_mkwrite time and really allocated only during
> > writepage. This gets the performance back to original numbers for me.
> > The patches should be fairly complete and sustained quite some testing. OTOH
> > the area is kind of complex so please review them so that they can get merged.
> > Thanks.
> Can you move patch 7 and patch 11 as the last two patches. That would
> make sure we can push rest of the patches earlier. Rest of the patches
> are needed for ext4 to fix some of the bugs we are seeing. For eg:
OK, I think I can just move patches 3 and 5 to the beginning. That's all
that should be needed for ext4.
> I have few writepage patches also on top of your last series. Having
> patch 7 and patch 11 as last two patches make sure we can get the rest
> of the patches in ext4 patchqueue and get wider testing.
Good point. I think Ted did the right thing and took just patches 3 and 5
to ext4 patch queue but I can reorder the patches for next time...
Jan Kara <jack@xxxxxxx>
SUSE Labs, CR
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/