<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 02:51:46 UTC 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>Whamcloud Community JIRA</title>
    <link>https://jira.whamcloud.com</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>9.4.14</version>
        <build-number>940014</build-number>
        <build-date>05-12-2023</build-date>
    </build-info>


<item>
            <title>[LU-12345] backport - ext4: optimize ext4_find_delalloc_range() in nodelalloc mode</title>
                <link>https://jira.whamcloud.com/browse/LU-12345</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;From 8c48f7e88e293b9dd422bd8884842aea85d30b22&lt;br/&gt;
..&lt;br/&gt;
We found performance regression when using bigalloc with &quot;nodelalloc&quot;&lt;br/&gt;
(1MB cluster size):&lt;br/&gt;
1. mke2fs -C 1048576 -O ^has_journal,bigalloc /dev/sda&lt;br/&gt;
2. mount -o nodelalloc /dev/sda /test/&lt;br/&gt;
3. time dd if=/dev/zero of=/test/io bs=1048576 count=1024&lt;br/&gt;
The &quot;dd&quot; will cost about 2 seconds to finish, but if we mke2fs without&lt;br/&gt;
&quot;bigalloc&quot;, &quot;dd&quot; will only cost less than 1 second.&lt;br/&gt;
&#160;&lt;br/&gt;
&#160;&lt;/p&gt;</description>
                <environment></environment>
        <key id="55762">LU-12345</key>
            <summary>backport - ext4: optimize ext4_find_delalloc_range() in nodelalloc mode</summary>
                <type id="1" iconUrl="https://jira.whamcloud.com/secure/viewavatar?size=xsmall&amp;avatarId=11303&amp;avatarType=issuetype">Bug</type>
                                            <priority id="3" iconUrl="https://jira.whamcloud.com/images/icons/priorities/major.svg">Major</priority>
                        <status id="5" iconUrl="https://jira.whamcloud.com/images/icons/statuses/resolved.png" description="A resolution has been taken, and it is awaiting verification by reporter. From here issues are either reopened, or are closed.">Resolved</status>
                    <statusCategory id="3" key="done" colorName="success"/>
                                    <resolution id="1">Fixed</resolution>
                                        <assignee username="artem_blagodarenko">Artem Blagodarenko</assignee>
                                    <reporter username="artem_blagodarenko">Artem Blagodarenko</reporter>
                        <labels>
                            <label>patch</label>
                    </labels>
                <created>Tue, 28 May 2019 11:08:18 +0000</created>
                <updated>Tue, 1 Nov 2022 16:25:49 +0000</updated>
                            <resolved>Sat, 1 Jun 2019 14:37:48 +0000</resolved>
                                                    <fixVersion>Lustre 2.13.0</fixVersion>
                    <fixVersion>Lustre 2.12.5</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>5</watches>
                                                                            <comments>
                            <comment id="247859" author="adilger" created="Tue, 28 May 2019 16:02:14 +0000"  >&lt;p&gt;I don&apos;t think osd-ldiskfs is using delalloc? This may affect local ext4 performance but I don&apos;t think it will affect Lustre. &lt;/p&gt;</comment>
                            <comment id="247861" author="bzzz" created="Tue, 28 May 2019 16:06:26 +0000"  >&lt;p&gt;I remember one reason do not use delalloc is missing suport for ordered writes. i.e. allocation is driven by VM as process of memory cleanup/release, not by JBD which is required to know when specific pages have been commited. this is different from ZFS where data allocation is done as part of commiting TXG.&lt;/p&gt;</comment>
                            <comment id="247862" author="artem_blagodarenko" created="Tue, 28 May 2019 16:08:56 +0000"  >&lt;p&gt;&amp;gt; I don&apos;t think osd-ldiskfs is using delalloc? This may affect local ext4 performance but I don&apos;t think it will affect Lustre.&lt;/p&gt;

&lt;p&gt;During IOR single thread 4K random re-write over 16GB file on one of our machine&#160;&lt;br/&gt;
&#160;&#160;&#160;&#160;the CPU usage on the OSS is 100% and resulting IOPS are extremely&lt;br/&gt;
&#160;&#160;&#160;&#160;low. Here is a snippet of perf report:&lt;br/&gt;
&#160;&lt;br/&gt;
&#160;&#160;&#160;|-&lt;del&gt;89.87%&lt;/del&gt;- ldiskfs_es_find_delayed_extent_range&lt;br/&gt;
&#160;&#160;&#160;&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;ldiskfs_fiemap&lt;br/&gt;
&#160;&#160;&#160;&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;osd_is_mapped&lt;br/&gt;
&#160;&#160;&#160;&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;osd_declare_write_commit&lt;br/&gt;
&#160;&#160;&#160;&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;ofd_commitrw_write&lt;br/&gt;
&#160;&#160;&#160;&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;ofd_commitrw&lt;br/&gt;
&#160;&#160;&#160;&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;tgt_brw_write&lt;br/&gt;
&#160;&#160;&#160;&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;tgt_request_handle&lt;br/&gt;
&#160;&#160;&#160;&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;ptlrpc_server_handle_request&lt;br/&gt;
&#160;&#160;&#160;&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;ptlrpc_main&lt;br/&gt;
&#160;&#160;&#160;&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;kthread&lt;br/&gt;
&#160;&#160;&#160;&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;ret_from_fork&lt;/p&gt;</comment>
                            <comment id="247863" author="artem_blagodarenko" created="Tue, 28 May 2019 16:10:11 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.whamcloud.com/secure/ViewProfile.jspa?name=adilger&quot; class=&quot;user-hover&quot; rel=&quot;adilger&quot;&gt;adilger&lt;/a&gt;,&lt;/p&gt;


&lt;p&gt;There is &quot;ext4: optimize ext4_find_delalloc_range() in nodelalloc&lt;br/&gt;
&#160;&#160;&#160;&#160;mode&quot; patch that prevents executin&lt;br/&gt;
&#160;&#160;&#160;&#160;ldiskfs_es_find_delayed_extent_range() if no delalloc enabled. The&lt;br/&gt;
&#160;&#160;&#160;&#160;same optimization also added for ldiskfs_find_delayed_extent()&lt;br/&gt;
&#160;&#160;&#160;&#160;function that improve performance dromaticaly.&lt;br/&gt;
&#160;&lt;br/&gt;
&#160;&#160;&#160;&#160;Here is results of testing on two node system.&lt;br/&gt;
&#160;&#160;&#160;&#160;Without the patch:&lt;br/&gt;
&#160;&#160;&#160;&#160;avg-cpu:&#8194;&#8194;%user&#8194;&#8194; %nice %system %iowait&#8194;&#8194;%steal&#8194;&#8194; %idle&lt;br/&gt;
&#160;&#160;&#160;&#160;&#8194;&#8194;&#8194;&#8194;&#8194;&#8194;&#8194;&#8194;&#8194;&#8194; 0.00&#8194;&#8194;&#8194;&#8194;0.00&#8194;&#8194; 56.30&#8194;&#8194;&#8194;&#8194;0.06&#8194;&#8194;&#8194;&#8194;0.00&#8194;&#8194; 43.63&lt;br/&gt;
&#160;&lt;br/&gt;
&#160;&#160;&#160;&#160;&#160;Device:&#8194;&#8194;&#8194;&#8194;&#8194;&#8194;&#8194;&#8194; rrqm/s&#8194;&#8194; wrqm/s&#8194;&#8194;&#8194;&#8194; r/s&#8194;&#8194;&#8194;&#8194; w/s&#8194;&#8194;&#8194;&#8194;rMB/s&#8194;&#8194;&#8194;&#8194;wMB/s&lt;br/&gt;
&#160;&#160;&#160;&#160;&#160;avgrq-sz avgqu-sz&#8194;&#8194; await r_await w_await&#8194;&#8194;svctm&#8194;&#8194;%util&lt;br/&gt;
&#160;&#160;&#160;&#160;&#160;sds&#8194;&#8194;&#8194;&#8194;&#8194;&#8194;&#8194;&#8194;&#8194;&#8194;&#8194;&#8194;&#8194;&#8194; 0.00&#8194;&#8194;&#8194;&#8194; 0.00&#8194;&#8194;&#8194;&#8194;0.00 1174.00&#8194;&#8194;&#8194;&#8194; 0.00&#8194;&#8194;&#8194;&#8194; 4.59&lt;br/&gt;
&#160;&#160;&#160;&#160;&#160;8.00&#8194;&#8194;&#8194;&#8194; 0.84&#8194;&#8194;&#8194;&#8194;0.71&#8194;&#8194;&#8194;&#8194;0.00&#8194;&#8194;&#8194;&#8194;0.71&#8194;&#8194; 0.01&#8194;&#8194; 1.20&lt;br/&gt;
&#160;&lt;br/&gt;
&#160;&#160;&#160;&#160;&#160;With patch:&lt;br/&gt;
&#160;&#160;&#160;&#160;&#160;08/29/2018 01:13:22 AM&lt;br/&gt;
&#160;&#160;&#160;&#160;&#160;avg-cpu:&#160;&#160;%user&#160;&#160;&#160;%nice %system %iowait&#160;&#160;%steal&#160;&#160;&#160;%idle&lt;br/&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;0.00&#160;&#160;&#160;&#160;0.00&#160;&#160;&#160;&#160;4.13&#160;&#160;&#160;30.37&#160;&#160;&#160;&#160;0.00&#160;&#160;&#160;65.50&lt;br/&gt;
&#160;&lt;br/&gt;
&#160;&#160;&#160;&#160;Device:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;rrqm/s&#160;&#160;&#160;wrqm/s&#160;&#160;&#160;&#160;&#160;r/s&#160;&#160;&#160;&#160;&#160;w/s&#160;&#160;&#160;&#160;rMB/s&#160;&#160;&#160;&#160;&#160;&#160;wMB/s&lt;br/&gt;
&#160;&#160;&#160;&#160;avgrq-sz avgqu-sz&#160;&#160;&#160;await r_await w_await&#160;&#160;svctm %util&lt;br/&gt;
&#160;&#160;&#160;&#160;sds&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;0.00&#160;&#160;&#160;&#160;&#160;0.00&#160;&#160;&#160;&#160;0.00 54117.82&#160;&#160;&#160;&#160;&#160;0.00&#160;&#160;&#160;&#160;&#160;211.43&lt;br/&gt;
&#160;&#160;&#160;&#160;8.00&#160;&#160;&#160;152.59&#160;&#160;&#160;&#160;2.82&#160;&#160;&#160;&#160;0.00&#160;&#160;&#160;&#160;2.82&#160;&#160;&#160;0.02 99.01&lt;/p&gt;</comment>
                            <comment id="247872" author="gerrit" created="Tue, 28 May 2019 16:53:49 +0000"  >&lt;p&gt;Artem Blagodarenko (c17828@cray.com) uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/34982&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/34982&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-12345&quot; title=&quot;backport - ext4: optimize ext4_find_delalloc_range() in nodelalloc mode&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-12345&quot;&gt;&lt;del&gt;LU-12345&lt;/del&gt;&lt;/a&gt; ldiskfs: optimize nodelalloc mode&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 7e74f2751f8cfdce2915d9b92259cdfc78d3a8d4&lt;/p&gt;</comment>
                            <comment id="247994" author="adilger" created="Wed, 29 May 2019 17:43:54 +0000"  >&lt;p&gt;Other than this (obviously significant) performance problems, have you seen other problems with &lt;tt&gt;bigalloc&lt;/tt&gt;?  I&apos;m worried that there are hidden problems because the &lt;tt&gt;osd-ldiskfs&lt;/tt&gt; code is dealing with blocks instead of chunks in various places (&lt;tt&gt;chunk&lt;/tt&gt;, &lt;tt&gt;C2B&lt;/tt&gt;, and &lt;tt&gt;B2C&lt;/tt&gt; do not appear anywhere in that code).&lt;/p&gt;</comment>
                            <comment id="248044" author="artem_blagodarenko" created="Thu, 30 May 2019 12:10:57 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.whamcloud.com/secure/ViewProfile.jspa?name=adilger&quot; class=&quot;user-hover&quot; rel=&quot;adilger&quot;&gt;adilger&lt;/a&gt; going to make bigalloc testing in near future.&lt;/p&gt;</comment>
                            <comment id="248177" author="gerrit" created="Sat, 1 Jun 2019 03:58:55 +0000"  >&lt;p&gt;Oleg Drokin (green@whamcloud.com) merged in patch &lt;a href=&quot;https://review.whamcloud.com/34982/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/34982/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-12345&quot; title=&quot;backport - ext4: optimize ext4_find_delalloc_range() in nodelalloc mode&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-12345&quot;&gt;&lt;del&gt;LU-12345&lt;/del&gt;&lt;/a&gt; ldiskfs: optimize nodelalloc mode&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: af48ae8bff289b2bc083a888efeafa3c48df91e2&lt;/p&gt;</comment>
                            <comment id="248200" author="pjones" created="Sat, 1 Jun 2019 14:37:48 +0000"  >&lt;p&gt;Landed for 2.13&lt;/p&gt;</comment>
                            <comment id="263089" author="gerrit" created="Tue, 11 Feb 2020 18:52:50 +0000"  >&lt;p&gt;Minh Diep (mdiep@whamcloud.com) uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/37538&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/37538&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-12345&quot; title=&quot;backport - ext4: optimize ext4_find_delalloc_range() in nodelalloc mode&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-12345&quot;&gt;&lt;del&gt;LU-12345&lt;/del&gt;&lt;/a&gt; ldiskfs: optimize nodelalloc mode&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: b2_12&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: bbf850c5ac55b631081848a67831d23ac4a241a8&lt;/p&gt;</comment>
                            <comment id="267587" author="gerrit" created="Tue, 14 Apr 2020 17:55:46 +0000"  >&lt;p&gt;Oleg Drokin (green@whamcloud.com) merged in patch &lt;a href=&quot;https://review.whamcloud.com/37538/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/37538/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-12345&quot; title=&quot;backport - ext4: optimize ext4_find_delalloc_range() in nodelalloc mode&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-12345&quot;&gt;&lt;del&gt;LU-12345&lt;/del&gt;&lt;/a&gt; ldiskfs: optimize nodelalloc mode&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: b2_12&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: f91552d85cd086b37f78524113cadf799c045220&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="55236">LU-12103</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="73048">LU-16286</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                            <customfield id="customfield_10890" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10390" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|i00h1j:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10090" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>9223372036854775807</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10060" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Severity</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10022"><![CDATA[3]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                        </customfields>
    </item>
</channel>
</rss>