<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 03:29:00 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-16669] Add lock_no_expand tunable on the Lustre client</title>
                <link>https://jira.whamcloud.com/browse/LU-16669</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;Lustre advise IOCTL interface can set the CEF_LOCK_NO_EXPAND flag, which tells the OSC (the per OST layer of the client) to set LDLM_FL_NO_EXPANSION on any lock requests.  LDLM_FL_NO_EXPANSION is a new LDLM lock flag which tells the server not to expand the lock extent.&lt;/p&gt;

&lt;p&gt;To set this parameter much easier for benchmark or debug purpose, It would better to add a tunable &quot;llite.*.lock_no_expand&quot;  to control whether to expand the lock extent for I/O.&lt;/p&gt;
</description>
                <environment></environment>
        <key id="75221">LU-16669</key>
            <summary>Add lock_no_expand tunable on the Lustre client</summary>
                <type id="4" iconUrl="https://jira.whamcloud.com/secure/viewavatar?size=xsmall&amp;avatarId=11310&amp;avatarType=issuetype">Improvement</type>
                                            <priority id="4" iconUrl="https://jira.whamcloud.com/images/icons/priorities/minor.svg">Minor</priority>
                        <status id="1" iconUrl="https://jira.whamcloud.com/images/icons/statuses/open.png" description="The issue is open and ready for the assignee to start work on it.">Open</status>
                    <statusCategory id="2" key="new" colorName="default"/>
                                    <resolution id="-1">Unresolved</resolution>
                                        <assignee username="qian_wc">Qian Yingjin</assignee>
                                    <reporter username="qian_wc">Qian Yingjin</reporter>
                        <labels>
                    </labels>
                <created>Mon, 27 Mar 2023 07:48:41 +0000</created>
                <updated>Tue, 4 Jul 2023 09:43:04 +0000</updated>
                                                                                <due></due>
                            <votes>0</votes>
                                    <watches>3</watches>
                                                                            <comments>
                            <comment id="367372" author="gerrit" created="Mon, 27 Mar 2023 09:47:23 +0000"  >&lt;p&gt;&quot;Qian Yingjin &amp;lt;qian@ddn.com&amp;gt;&quot; uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/c/fs/lustre-release/+/50432&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/c/fs/lustre-release/+/50432&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-16669&quot; title=&quot;Add lock_no_expand tunable on the Lustre client&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-16669&quot;&gt;LU-16669&lt;/a&gt; llite: add lock_no_expand tunable on a client&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: b5cb732703272e4919e9e3c7af2bb8b88498e287&lt;/p&gt;</comment>
                            <comment id="377176" author="adilger" created="Sat, 1 Jul 2023 04:43:17 +0000"  >&lt;p&gt;Yingjin, could you please provide some background on what this is needed for?  I don&apos;t see it linked to any other tickets, and there isn&apos;t enough explanation in the description to know what this would be used for.&lt;/p&gt;

&lt;p&gt;I&apos;m wondering if we should add a new &lt;tt&gt;LF_INODE&lt;/tt&gt; flag so that &quot;&lt;tt&gt;lfs ladvise locknoexpand &amp;lt;file&amp;gt;&lt;/tt&gt;&quot; could be set persistently on an inode rather than just a file descriptor?  Would that be more useful for applications or test scripts instead of adding a &lt;tt&gt;CFS_FAIL_CHECK()&lt;/tt&gt; that affects all files on the node?&lt;/p&gt;</comment>
                            <comment id="377236" author="qian_wc" created="Mon, 3 Jul 2023 08:28:03 +0000"  >&lt;p&gt;Hi Andreas,&lt;/p&gt;

&lt;p&gt;There are two motivations for this work:&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;It is mainly used for benchmark purpose;&lt;/li&gt;
	&lt;li&gt;Strided writes from many clients with page aligned. It does expand the I/O locking extent to reduce the lock ping-pong callbacks. (compared with strided writes using direct I/O).&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Of course we can add a new LF_INODE flag to be set persistently on an inode for &quot;lfs ladies locknoexpand $file&quot;.&lt;/p&gt;

&lt;p&gt;But I am just worried about its narrow usage scope...&lt;/p&gt;


</comment>
                            <comment id="377322" author="adilger" created="Tue, 4 Jul 2023 04:57:59 +0000"  >&lt;p&gt;I think in the second case, it makes sense for the client or OSS to detect the lock contention and avoid lock expansion.  This already happens on the OSS today with 32+ clients writing to a single file, but it does not take into account disjoint writes with fewer clients. &lt;/p&gt;</comment>
                            <comment id="377337" author="qian_wc" created="Tue, 4 Jul 2023 09:23:27 +0000"  >&lt;p&gt;I just rebased Patrick&apos;s lock contention detection patch: &lt;a href=&quot;https://review.whamcloud.com/#/c/fs/lustre-release/+/35287/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/#/c/fs/lustre-release/+/35287/&lt;/a&gt;.&lt;br/&gt;
We can use this patch to detect the lock contention on the OSS, and clients will be informed when the OST object is under lock contention.&lt;/p&gt;

&lt;p&gt;Both client and server can determine to whether avoid lock expansion under lock contention.&lt;/p&gt;

&lt;p&gt;Moreover, when the client was informed that the file is under contention, it can switch from default buffered I/O mode to direct I/O mode if the I/O size is large enough.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                            <outwardlinks description="is related to ">
                                        <issuelink>
            <issuekey id="76822">LU-16939</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </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|i03h8v:</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>