Re: 48 bit ext3 testing

Mingming Cao <[email protected]>
Newsgroups gmane.comp.file-systems.ext2.devel
Organization IBM LTC
Message-ID <[email protected]>
On Tue, 2006-07-18 at 11:09 -0700, Avantika Mathur LTC wrote:
> Hi,
> 
> I have been testing the performance of the 48 bit patch set.
> As I had mentioned in an earlier ext3 interlock call, I've seen major 
> regression on tiobench for random and sequential writes.  The regression 
> occurs when mounting with extents, for greater than 1 thread.  These 
> results are on both an x86 and ppc64 machines.


The regression seems related to file fragmentation, which makes me
suspect that reservation feature is not turn on. I think I find why:
preciously the reservation window structure is statistically declared in
the in-core ext3 inode itself. Then later we changed it to dynamically:
allocating memory for reservation window only when the first time an
inode needs new blocks.

For the extent block allocation interface: ext3_ext_get_blocks(), we
seems missing this reservation window strucutre initialzation, thus why
reservation is not being turned on and result in file fragmentation.

Attached is a trival fix.

---

 linux-2.6.17-git13-ming/fs/ext3/extents.c |    6 ++++++
 1 files changed, 6 insertions(+)

diff -puN fs/ext3/extents.c~ext3-extent-init-rsv-window fs/ext3/extents.c
--- linux-2.6.17-git13/fs/ext3/extents.c~ext3-extent-init-rsv-window	2006-07-27 19:55:59.586566092 -0700
+++ linux-2.6.17-git13-ming/fs/ext3/extents.c	2006-07-27 20:07:33.370303760 -0700
@@ -1931,6 +1931,12 @@ int ext3_ext_get_blocks(handle_t *handle
 		ext3_ext_put_gap_in_cache(inode, path, iblock);
 		goto out2;
 	}
+	/*
+         * Okay, we need to do block allocation.  Lazily initialize the block
+         * allocation info here if necessary
+        */
+	if (S_ISREG(inode->i_mode) && (!EXT3_I(inode)->i_block_alloc_info))
+		ext3_init_block_alloc_info(inode);
 
 	/* allocate new block */
 	goal = ext3_ext_find_goal(inode, path, iblock);

_



-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.