linux-ext4.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/11] Fix page_mkwrite() for blocksize < pagesize
@ 2009-05-27 13:00 Jan Kara
  2009-05-27 13:00 ` [PATCH 01/11] ext3: Get rid of extenddisksize parameter of ext3_get_blocks_handle() Jan Kara
                   ` (12 more replies)
  0 siblings, 13 replies; 37+ messages in thread
From: Jan Kara @ 2009-05-27 13:00 UTC (permalink / raw)
  To: LKML; +Cc: npiggin, linux-ext4


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.

									Honza

^ permalink raw reply	[flat|nested] 37+ messages in thread

end of thread, other threads:[~2009-06-05 23:23 UTC | newest]

Thread overview: 37+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-05-27 13:00 [PATCH 0/11] Fix page_mkwrite() for blocksize < pagesize Jan Kara
2009-05-27 13:00 ` [PATCH 01/11] ext3: Get rid of extenddisksize parameter of ext3_get_blocks_handle() Jan Kara
2009-05-27 13:00 ` [PATCH 02/11] ext4: Get rid of extend_disksize parameter of ext4_get_blocks_handle() Jan Kara
2009-05-27 13:01 ` [PATCH 03/11] vfs: Add better VFS support for page_mkwrite when blocksize < pagesize Jan Kara
2009-05-27 16:00   ` Josef Bacik
2009-05-27 16:45     ` Aneesh Kumar K.V
2009-05-27 17:06       ` Josef Bacik
2009-05-28 13:03   ` Josef Bacik
2009-05-28 13:10     ` Aneesh Kumar K.V
2009-05-30 11:23   ` Pavel Machek
2009-06-01  9:44     ` Jan Kara
2009-06-01 11:33       ` Goswin von Brederlow
2009-06-01 14:00         ` Jan Kara
2009-06-01 14:46           ` Goswin von Brederlow
2009-06-01 15:02             ` Jan Kara
2009-06-01 15:35               ` Goswin von Brederlow
2009-05-27 13:01 ` [PATCH 04/11] ext2: Allocate space for mmaped file on page fault Jan Kara
2009-05-27 13:01 ` [PATCH 05/11] ext4: Make sure blocks are properly allocated under mmaped page even when blocksize < pagesize Jan Kara
2009-05-27 14:30   ` Theodore Tso
2009-05-27 14:52     ` Jan Kara
2009-06-04 14:09   ` Theodore Tso
2009-05-27 13:01 ` [PATCH 06/11] ext3: Allocate space for mmaped file on page fault Jan Kara
2009-05-27 13:01 ` [PATCH 07/11] vfs: Implement generic per-cpu counters for delayed allocation Jan Kara
2009-05-27 13:01 ` [PATCH 08/11] vfs: Unmap underlying metadata of new data buffers only when buffer is mapped Jan Kara
2009-05-27 15:35   ` Aneesh Kumar K.V
2009-05-28  9:44     ` Jan Kara
2009-05-28 10:15       ` Aneesh Kumar K.V
2009-05-28 13:50         ` Jan Kara
2009-05-27 13:01 ` [PATCH 09/11] fs: Don't clear dirty bits in block_write_full_page() Jan Kara
2009-05-27 13:01 ` [PATCH 10/11] vfs: Export wakeup_pdflush Jan Kara
2009-05-27 13:01 ` [PATCH 11/11] ext3: Implement delayed allocation on page_mkwrite time Jan Kara
2009-05-27 14:23 ` [PATCH 0/11] Fix page_mkwrite() for blocksize < pagesize Theodore Tso
2009-05-27 14:59   ` Jan Kara
2009-06-04 17:11     ` Theodore Tso
2009-06-05 23:23       ` Jan Kara
2009-05-27 15:33 ` Aneesh Kumar K.V
2009-05-28  9:36   ` Jan Kara

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).