<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 02:38:06 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-10777] DoM performance is bad with FIO write</title>
                <link>https://jira.whamcloud.com/browse/LU-10777</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;FIO test does a lot more RPCs to the MDT with DOM files comparing with OSTs files:&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;DOM files:
WRITE: BW 5900KiB/sec, IOPS 737, lat (7/83624/83631)usec
----- MDC RPCs: 118696
----- OSC RPCs: 252

OST files:
WRITE: BW 9738KiB/sec, IOPS 1217, lat (5/47728/47734)usec
----- MDC RPCs: 49668
----- OSC RPCs: 12302
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;so there are about 12K IO-related RPCs to the OST and about 70K extra RPCs to the MDT in the same test. That looks like OST writes are cached much better with FIO write pattern than writes to MDT.&lt;/p&gt;</description>
                <environment></environment>
        <key id="51137">LU-10777</key>
            <summary>DoM performance is bad with FIO write</summary>
                <type id="7" iconUrl="https://jira.whamcloud.com/images/icons/issuetypes/task_agile.png">Technical task</type>
                            <parent id="49050">LU-10176</parent>
                                    <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="tappro">Mikhail Pershin</assignee>
                                    <reporter username="tappro">Mikhail Pershin</reporter>
                        <labels>
                            <label>DoM2</label>
                            <label>ORNL</label>
                    </labels>
                <created>Tue, 6 Mar 2018 08:59:19 +0000</created>
                <updated>Sat, 8 Jun 2019 12:44:27 +0000</updated>
                            <resolved>Tue, 30 Apr 2019 12:57:09 +0000</resolved>
                                                    <fixVersion>Lustre 2.13.0</fixVersion>
                    <fixVersion>Lustre 2.12.3</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>8</watches>
                                                                            <comments>
                            <comment id="244759" author="tappro" created="Wed, 27 Mar 2019 17:35:22 +0000"  >&lt;p&gt;there are smaller page-per-RPC value with DOM files, the write RPC is composed earlier, with less pages than with OST. The problem is related to grants most likely.&lt;/p&gt;</comment>
                            <comment id="246169" author="tappro" created="Mon, 22 Apr 2019 16:44:19 +0000"  >&lt;p&gt;This issue doesn&apos;t look like a bug but related to less grants space on MDT comparing with several OSTs. With increasing MDT size the page-per-RPC value is growing and performance as well.&lt;/p&gt;

&lt;p&gt;Meanwhile there is other problem with FIO READ which is related to read-on-open feature and possible resends if reply buffer is bigger than client had. In that case client re-allocated buffer and resends it with larger buffer. For some reason such technique performs not well and even worse than just separate OPEN and READ RPCs. I am going to disable that option for now&lt;/p&gt;</comment>
                            <comment id="246317" author="jinshan" created="Wed, 24 Apr 2019 17:57:35 +0000"  >&lt;p&gt;Is this happening on the case of intent-open?&lt;/p&gt;

&lt;p&gt;Can we just do a quick fix to fallback to normal open if client doesn&apos;t allocate buffer with enough size?&lt;/p&gt;</comment>
                            <comment id="246328" author="tappro" created="Wed, 24 Apr 2019 20:09:43 +0000"  >&lt;p&gt;that is so already, read-on-open failure doesn&apos;t fail open itself, just doesn&apos;t fill reply buffer with data and finish open intent as usual.&lt;/p&gt;</comment>
                            <comment id="246329" author="tappro" created="Wed, 24 Apr 2019 20:11:33 +0000"  >&lt;p&gt;patch in gerrit: &lt;a href=&quot;https://review.whamcloud.com/#/c/34700/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/#/c/34700/&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="246331" author="jinshan" created="Wed, 24 Apr 2019 20:54:59 +0000"  >&lt;p&gt;If that&apos;s the case, why would it resend the RPC if client provides a small reply buffer, instead of just doing a regular open? or I have missed something here.&lt;/p&gt;</comment>
                            <comment id="246332" author="jinshan" created="Wed, 24 Apr 2019 20:58:05 +0000"  >&lt;p&gt;ah I see, you patch does what I said. Nevermind&lt;/p&gt;</comment>
                            <comment id="246334" author="tappro" created="Wed, 24 Apr 2019 21:25:51 +0000"  >&lt;p&gt;That is being handled on ptlrpc level, check reply_in_callback() and after_reply() for rq_reply_truncate usage. If reply has bigger buffer than allocated on client then client re-allocate it and do resend with adjusted buffer with no errors are returned to upper level, e.g. MDC.  That is used in some cases intentionally, e.g. when big attributes are returned from server to the client and  it has not updated &apos;max_md_size&apos;. Usually these are rare cases because finally client will update own maximum.&lt;br/&gt;
The idea behind this is that technically immediate resend is faster than new RPC or at least the same. I was trying to use that possibility for read-on-open to fill as much data as maximum reply buffer can be, thinking that resend is at least the same as new RPC, but after test results I tend to think that OPEN resend/reconstruct with new read-on-open is just more expensive than ordinary READ RPC so that makes no sense to do so.&lt;/p&gt;</comment>
                            <comment id="246335" author="tappro" created="Wed, 24 Apr 2019 21:26:41 +0000"  >&lt;p&gt;oh, I wrote so much words, let them be, maybe someone will find that useful&lt;/p&gt;</comment>
                            <comment id="246484" author="gerrit" created="Tue, 30 Apr 2019 03:35:51 +0000"  >&lt;p&gt;Oleg Drokin (green@whamcloud.com) merged in patch &lt;a href=&quot;https://review.whamcloud.com/34700/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/34700/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-10777&quot; title=&quot;DoM performance is bad with FIO write&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-10777&quot;&gt;&lt;del&gt;LU-10777&lt;/del&gt;&lt;/a&gt; dom: disable read-on-open with resend&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: e0adb618a4b0d0182419a5731fe046e9157b9f51&lt;/p&gt;</comment>
                            <comment id="246517" author="pjones" created="Tue, 30 Apr 2019 12:57:09 +0000"  >&lt;p&gt;Landed for 2.13&lt;/p&gt;</comment>
                            <comment id="247445" author="gerrit" created="Tue, 21 May 2019 15:25:14 +0000"  >&lt;p&gt;Minh Diep (mdiep@whamcloud.com) uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/34912&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/34912&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-10777&quot; title=&quot;DoM performance is bad with FIO write&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-10777&quot;&gt;&lt;del&gt;LU-10777&lt;/del&gt;&lt;/a&gt; dom: disable read-on-open with resend&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: b2_12&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 7f304a9c1328518be315a96a2837e3452e6221d3&lt;/p&gt;</comment>
                            <comment id="248795" author="gerrit" created="Sat, 8 Jun 2019 02:37:12 +0000"  >&lt;p&gt;Oleg Drokin (green@whamcloud.com) merged in patch &lt;a href=&quot;https://review.whamcloud.com/34912/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/34912/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-10777&quot; title=&quot;DoM performance is bad with FIO write&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-10777&quot;&gt;&lt;del&gt;LU-10777&lt;/del&gt;&lt;/a&gt; dom: disable read-on-open with resend&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: b2_12&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: bfe06da80e8cb75667d0a58a8e81043a09868112&lt;/p&gt;</comment>
                    </comments>
                    <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|hzztx3:</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>
                                                                                                                                                                                                                                                                                                                                                                                                                </customfields>
    </item>
</channel>
</rss>