[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <E4904E52-7428-478D-AE2E-B29EA825CDB1@gmail.com>
Date: Sat, 19 Nov 2011 11:13:57 -0700
From: Andreas Dilger <aedilger@...il.com>
To: Yongqiang Yang <xiaoqiangnk@...il.com>
Cc: "tytso@....edu" <tytso@....edu>,
"adilger@...ger.ca" <adilger@...ger.ca>,
"linux-ext4@...r.kernel.org" <linux-ext4@...r.kernel.org>
Subject: Re: [PATCH v4 0/15] ext4: add new online resize interface
On 2011-11-19, at 2:57, Yongqiang Yang <xiaoqiangnk@...il.com> wrote:
> This patch series adds new resize implementation to ext4.
>
> -- What's new resize implementation?
> It is a new online resize interface for ext4. It can be used via
> ioctl with EXT4_IOC_RESIZE_FS and a 64 bit integer indicating size
> of the resized fs in block.
>
> -- Difference between current resize and new resize.
> New resize lets kernel do all work, like allocating bitmaps and
> inode tables and can support flex_bg and BLOCK_UNINIT features.
> Besides these, new resize is much faster than current resize.
>
> Below are benchmarks I made on my personal computer, fses with
> flex_bg size = 16 were resized to 230GB evry time. The first
> row shows the size of a fs from which the fs was resized to 230GB.
> The datas were collected by 'time resize2fs'.
>
> new resize
> 20GB 50GB 100GB
> real 0m3.558s 0m2.891s 0m0.394s
> user 0m0.004s 0m0.000s 0m0.394s
> sys 0m0.048s 0m0.048s 0m0.028s
>
> current resize
> 20GB 50GB 100GB
> real 5m2.770s 4m43.757s 3m14.840s
> user 0m0.040s 0m0.032s 0m0.024s
> sys 0m0.464s 0m0.432s 0m0.324s
These stats must be backward, because resizing 20GB takes more time than resizing 100GB.
> According to data above, new resize is faster than current resize in both
> user and sys time. New resize performs well in sys time, because it
> supports BLOCK_UNINIT and adds multi-groups each time.
>
> -- About supporting new features.
> YES! New resize can support new feature like bigalloc and exclude bitmap
> easily. Because it lets kernel do all work.
>
> V3->V4:
> rename __ext4_group_extend to ext4_group_extend_no_check.
>
> V2->V3:
> initialize block bitmap of last group.
> remove code initalizing inode bitmap and inode tables.
>
> Yongqiang.
>
> git diff --stat
>
> Documentation/filesystems/ext4.txt | 7 +
> fs/ext4/ext4.h | 10 +
> fs/ext4/ioctl.c | 39 ++
> fs/ext4/resize.c | 1167 +++++++++++++++++++++++++++---------
> 4 files changed, 942 insertions(+), 281 deletions(-)
>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists