<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 03:16:44 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-15252] option to disable LSOM updates</title>
                <link>https://jira.whamcloud.com/browse/LU-15252</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;When LSOM is not used at cluster it is better to disable it, I don&apos;t see such option for now.&lt;br/&gt;
During analyze of MDS vmocre with high load avarage, we have found LSOM feature add big impact to it.&lt;br/&gt;
205 threads were blocked with &lt;tt&gt;mdt_lsom_update()&lt;/tt&gt;. A few threads got further and were waiting for the osd lock for read. It seems that &lt;tt&gt;mdt_lsom_update()&lt;/tt&gt; has a serious issue with a single shared file because of its mdt-level mutex for every close request.&lt;/p&gt;</description>
                <environment></environment>
        <key id="67265">LU-15252</key>
            <summary>option to disable LSOM updates</summary>
                <type id="4" iconUrl="https://jira.whamcloud.com/secure/viewavatar?size=xsmall&amp;avatarId=11310&amp;avatarType=issuetype">Improvement</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="aboyko">Alexander Boyko</assignee>
                                    <reporter username="aboyko">Alexander Boyko</reporter>
                        <labels>
                            <label>patch</label>
                    </labels>
                <created>Fri, 19 Nov 2021 09:21:03 +0000</created>
                <updated>Fri, 26 May 2023 11:16:20 +0000</updated>
                            <resolved>Thu, 23 Dec 2021 14:23:02 +0000</resolved>
                                    <version>Lustre 2.15.0</version>
                                    <fixVersion>Lustre 2.15.0</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>7</watches>
                                                                            <comments>
                            <comment id="318618" author="gerrit" created="Fri, 19 Nov 2021 09:23:06 +0000"  >&lt;p&gt;&quot;Alexander Boyko &amp;lt;alexander.boyko@hpe.com&amp;gt;&quot; uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/45619&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/45619&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-15252&quot; title=&quot;option to disable LSOM updates&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-15252&quot;&gt;&lt;del&gt;LU-15252&lt;/del&gt;&lt;/a&gt; mdc: add client tunable to disable LSOM update&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: e10a14aa558f7043ef91f6aae6326d6694c1cacc&lt;/p&gt;</comment>
                            <comment id="318661" author="adilger" created="Fri, 19 Nov 2021 17:36:22 +0000"  >&lt;p&gt;It would be better to fix the reason why LSOM updates are slow. From the comments, this is due to lock contention on the MDS, but there should be a way to avoid it, since this is &quot;lazy&quot; since and does not have to be totally accurate all the time. Fro example, checking if the incoming LSOM size/blocks is already smaller than current size/blocks without the lock, since LSOM should only be increasing. &lt;/p&gt;

&lt;p&gt;Also, it may be possible to batch LSOM updates in memory for a few seconds as long as the open counter &amp;gt; 0, since we know/expect some later close will write it to disk, and the update does not need to be part of a transaction if there is no other reason for it. &lt;/p&gt;

&lt;p&gt;Similarly, it should be possible to cache flag on the mdt_object if there is no LOV EA or DoM is ised, since this changes very rarely, so reading the LOV EA just for these two bits of information is expensive. That would allow checking whether an LSOM update is needed without the object mutex.  &lt;/p&gt;</comment>
                            <comment id="318677" author="simmonsja" created="Fri, 19 Nov 2021 18:50:27 +0000"  >&lt;p&gt;&#160;I agree with Andreas. LSOM is too critical to disable for us and we don&apos;t want our MDS servers bogged down at the same time.&lt;/p&gt;</comment>
                            <comment id="318843" author="aboyko" created="Mon, 22 Nov 2021 10:59:31 +0000"  >&lt;p&gt;Andreas,  I&apos;ve made a quick fix for Lustre clients only. But,I agree with you, LSOM requires fixes on the server side to improve single shared file perfomance. By default LSOM is enabled still, so it has no any impact by default.&lt;/p&gt;</comment>
                            <comment id="318846" author="aboyko" created="Mon, 22 Nov 2021 12:19:26 +0000"  >&lt;p&gt;&amp;gt;Similarly, it should be possible to cache flag on the mdt_object if there is no LOV EA or DoM is ised, since this changes very rarely, so reading the LOV EA just for these two bits of information is expensive. That would allow checking whether an LSOM update is needed without the object mutex.&lt;br/&gt;
Maybe it is better to store LSOM at mdt object and update xattr only for a last close? With this case only failover would affect lazy size to be wrong at xattr, but I think it is normal for LSOM.&lt;br/&gt;
Andreas, any objection?&lt;/p&gt;</comment>
                            <comment id="318926" author="adilger" created="Tue, 23 Nov 2021 00:08:03 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.whamcloud.com/secure/ViewProfile.jspa?name=aboyko&quot; class=&quot;user-hover&quot; rel=&quot;aboyko&quot;&gt;aboyko&lt;/a&gt;, I think the LSOM update can be &lt;em&gt;fairly&lt;/em&gt; lazy, and there isn&apos;t a serious danger if some updates are lost, but there should still be occasional writes of new LSOM data to disk:&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;if the inode is being written already for some other reason (e.g. atime update, link count, etc.)&lt;/li&gt;
	&lt;li&gt;after some long time since the last LSOM update (e.g. 60s, like &lt;tt&gt;atime_diff&lt;/tt&gt;). maybe LSOM and atime writes will happen at the same time?&lt;/li&gt;
	&lt;li&gt;when the last client closes the file, including when the client is evicted&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;My main concern would be that files which are &lt;em&gt;never&lt;/em&gt; properly closed will also never get LSOM updates.  That could happen with config files or shared libraries for jobs that run a very long time, and/or files that are being accessed by different jobs and always have &lt;em&gt;some&lt;/em&gt; client process holding them open.&lt;/p&gt;</comment>
                            <comment id="319871" author="gerrit" created="Thu, 2 Dec 2021 10:20:19 +0000"  >&lt;p&gt;&quot;Alexander Boyko &amp;lt;alexander.boyko@hpe.com&amp;gt;&quot; uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/45709&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/45709&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-15252&quot; title=&quot;option to disable LSOM updates&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-15252&quot;&gt;&lt;del&gt;LU-15252&lt;/del&gt;&lt;/a&gt; mdt: reduce contention at mdt_lsom_update&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 495a7eb370cf9dbb5eec67bbd0a59ae206cdb68a&lt;/p&gt;</comment>
                            <comment id="320708" author="gerrit" created="Mon, 13 Dec 2021 03:52:33 +0000"  >&lt;p&gt;&quot;Oleg Drokin &amp;lt;green@whamcloud.com&amp;gt;&quot; merged in patch &lt;a href=&quot;https://review.whamcloud.com/45619/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/45619/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-15252&quot; title=&quot;option to disable LSOM updates&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-15252&quot;&gt;&lt;del&gt;LU-15252&lt;/del&gt;&lt;/a&gt; mdc: add client tunable to disable LSOM update&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: 19172ed37851fdd5731b1319c12151f5cb1fe267&lt;/p&gt;</comment>
                            <comment id="320755" author="pjones" created="Mon, 13 Dec 2021 15:14:27 +0000"  >&lt;p&gt;Landed for 2.15&lt;/p&gt;</comment>
                            <comment id="320794" author="adilger" created="Mon, 13 Dec 2021 18:45:22 +0000"  >&lt;p&gt;Still a second patch in flight that fixes the performance issue instead of working around it. &lt;/p&gt;</comment>
                            <comment id="321389" author="gerrit" created="Thu, 23 Dec 2021 07:16:53 +0000"  >&lt;p&gt;&quot;Oleg Drokin &amp;lt;green@whamcloud.com&amp;gt;&quot; merged in patch &lt;a href=&quot;https://review.whamcloud.com/45709/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/45709/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-15252&quot; title=&quot;option to disable LSOM updates&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-15252&quot;&gt;&lt;del&gt;LU-15252&lt;/del&gt;&lt;/a&gt; mdt: reduce contention at mdt_lsom_update&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: c8b7afe4970415f8dae84f5e20661f8a3b3681a0&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10010">
                    <name>Duplicate</name>
                                                                <inwardlinks description="is duplicated by">
                                                        </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|i02ahb:</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>