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