* [Ocfs2-devel] [PATCH 0/7] ocfs2: allocate blocks in direct I/O write
2014-09-10 19:42 ` Andrew Morton
@ 2014-09-12 1:28 ` WeiWei Wang
2014-09-17 2:24 ` Joseph Qi
1 sibling, 0 replies; 4+ messages in thread
From: WeiWei Wang @ 2014-09-12 1:28 UTC (permalink / raw)
To: ocfs2-devel
On 2014/9/11 3:42, Andrew Morton wrote:
> On Wed, 10 Sep 2014 20:38:04 +0800 WeiWei Wang <wangww631@huawei.com> wrote:
>
>> hi all,
>> In ocfs2 append I/O write and fill holes I/O write situation, blocks have not been allocated yet, so the direct I/O write will fallback to buffer I/O write.
>> Buffer I/O write the data to page cache first, then flush the page cache to disk, this will consume some performance. In this patch, the direct I/O write
>> doesn't not need to fallback to buffer I/O write any more because the allocate blocks are enabled in direct I/O now.
>>
>
> The entire point of the patchset is to improve performance, but the
> changelog contains no performance measurements! How do we know it's
> worth considering? Please include quantitative benchmarking results
> in the changelog.
>
>
We test the performance under the virtualized scenarios before,
IO from iometer tool within a virtual machine which running on the
Xen virtualization environment, benchmarking results are measured
by iops, 5 seconds take once iops, in this situation, all IO take
O_DIRECT flag, enable allocate blocks in O_DIRECT write brings up
5% IOPS performance improvement in append sequential write.
Changelog description of this commit patchset may be not very
accurate, we mainly want to describe that if the O_DIRECT write
block allocation is supported, page cache will not be used any more
in the O_DIRECT write, memory fragmentation will be reduced and page
cache can be managed more effective both. When O_DIRECT flag is set,
we really want to go O_DIRECT write, not buffer I/O. In append
write and fill hole write situations, O_DIRECT write will not fallback
to buffer I/O any more.
Besides, other modern filesystems like ext4 also support direct io
with block allocation. So I think this feature is valuable.
Thanks,
--Wang
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Ocfs2-devel] [PATCH 0/7] ocfs2: allocate blocks in direct I/O write
2014-09-10 19:42 ` Andrew Morton
2014-09-12 1:28 ` WeiWei Wang
@ 2014-09-17 2:24 ` Joseph Qi
1 sibling, 0 replies; 4+ messages in thread
From: Joseph Qi @ 2014-09-17 2:24 UTC (permalink / raw)
To: ocfs2-devel
Hi Andrew,
Currently in case of O_DIRECT append write (block not allocated yet),
ocfs2 will fall back to buffered I/O. This has some disadvantages.
Firstly, it is not the behavior as expected. Secondly, it will consume
huge page cache, e.g. in mass backup scenario. Thirdly, modern
filesystems such as ext4 support this feature.
So please consider, thanks.
On 2014/9/11 3:42, Andrew Morton wrote:
> On Wed, 10 Sep 2014 20:38:04 +0800 WeiWei Wang <wangww631@huawei.com> wrote:
>
>> hi all,
>> In ocfs2 append I/O write and fill holes I/O write situation, blocks have not been allocated yet, so the direct I/O write will fallback to buffer I/O write.
>> Buffer I/O write the data to page cache first, then flush the page cache to disk, this will consume some performance. In this patch, the direct I/O write
>> doesn't not need to fallback to buffer I/O write any more because the allocate blocks are enabled in direct I/O now.
>>
>
> The entire point of the patchset is to improve performance, but the
> changelog contains no performance measurements! How do we know it's
> worth considering? Please include quantitative benchmarking results
> in the changelog.
>
>
>
> _______________________________________________
> Ocfs2-devel mailing list
> Ocfs2-devel at oss.oracle.com
> https://oss.oracle.com/mailman/listinfo/ocfs2-devel
>
>
^ permalink raw reply [flat|nested] 4+ messages in thread