<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 02:16: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-8272] Use granted extent tree to update kms</title>
                <link>https://jira.whamcloud.com/browse/LU-8272</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;Currently, ldlm_extent_shift_kms does a linear search of&lt;br/&gt;
the list of granted locks on the resource when looking for&lt;br/&gt;
the lock to use to update the kms.&lt;/p&gt;

&lt;p&gt;When cleaning up all locks on a resource, we end up doing&lt;br/&gt;
a linear search of this list for every lock on the object;&lt;br/&gt;
so, complexity n^2.&lt;/p&gt;

&lt;p&gt;For resources with thousands of locks, this can take&lt;br/&gt;
multiple seconds, and scales quickly to tens of seconds per&lt;br/&gt;
resource.  This can happen in normal usage with a weird I/O&lt;br/&gt;
pattern, but it is particularly a problem with lock ahead, which&lt;br/&gt;
creates large numbers of locks deliberately.&lt;/p&gt;

&lt;p&gt;This can be avoided by using the binary trees which store&lt;br/&gt;
the extents of granted locks, reducing the complexity of an&lt;br/&gt;
individual search from &apos;n&apos; to &apos;log n&apos;, and the total&lt;br/&gt;
complexity from n^2 to n*log&lt;img class=&quot;emoticon&quot; src=&quot;https://jira.whamcloud.com/images/icons/emoticons/thumbs_down.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;.&lt;/p&gt;

&lt;p&gt;Note that there are multiple trees, one for each lock mode.&lt;br/&gt;
This necessitates using kms and old_kms, since we check&lt;br/&gt;
every tree, even though we check the kms against only one&lt;br/&gt;
lock per tree.&lt;/p&gt;</description>
                <environment></environment>
        <key id="37582">LU-8272</key>
            <summary>Use granted extent tree to update kms</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="wc-triage">WC Triage</assignee>
                                    <reporter username="paf">Patrick Farrell</reporter>
                        <labels>
                            <label>patch</label>
                    </labels>
                <created>Tue, 14 Jun 2016 14:58:02 +0000</created>
                <updated>Sat, 17 Dec 2016 14:11:13 +0000</updated>
                            <resolved>Sat, 17 Dec 2016 14:11:13 +0000</resolved>
                                                    <fixVersion>Lustre 2.10.0</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>3</watches>
                                                                            <comments>
                            <comment id="155664" author="gerrit" created="Tue, 14 Jun 2016 15:00:28 +0000"  >&lt;p&gt;Patrick Farrell (paf@cray.com) uploaded a new patch: &lt;a href=&quot;http://review.whamcloud.com/20779&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/20779&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-8272&quot; title=&quot;Use granted extent tree to update kms&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-8272&quot;&gt;&lt;del&gt;LU-8272&lt;/del&gt;&lt;/a&gt; ldlm: Use interval tree to update kms&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: e18c528398d1ceaccc76fed9f54f04ffe523d668&lt;/p&gt;</comment>
                            <comment id="178188" author="gerrit" created="Sat, 17 Dec 2016 05:36:03 +0000"  >&lt;p&gt;Oleg Drokin (oleg.drokin@intel.com) merged in patch &lt;a href=&quot;https://review.whamcloud.com/20779/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/20779/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-8272&quot; title=&quot;Use granted extent tree to update kms&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-8272&quot;&gt;&lt;del&gt;LU-8272&lt;/del&gt;&lt;/a&gt; ldlm: Use interval tree to update kms&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: e7cf1b060ba37896147337a31b17870bec2d046b&lt;/p&gt;</comment>
                            <comment id="178241" author="pjones" created="Sat, 17 Dec 2016 14:11:13 +0000"  >&lt;p&gt;Landed for 2.10&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|hzyelz:</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>