<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 03:15:05 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-15058] replace critical vmalloc allocations with genradix</title>
                <link>https://jira.whamcloud.com/browse/LU-15058</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;When memory allocation grow top large the method of allocation moves from kmalloc to vmalloc. Using vmalloc() uses global locking which greatly degrades performance. For ORNL we ended up preventing users form creating files stripped greater than 512. This problem impact very large RPC and other components of Lustre. The solution is to use the generic_radix work present in newer kernel developed for this very issue.&lt;/p&gt;</description>
                <environment>Any client or server running Lustre.</environment>
        <key id="66375">LU-15058</key>
            <summary>replace critical vmalloc allocations with genradix</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="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="simmonsja">James A Simmons</assignee>
                                    <reporter username="simmonsja">James A Simmons</reporter>
                        <labels>
                    </labels>
                <created>Mon, 4 Oct 2021 18:21:26 +0000</created>
                <updated>Mon, 14 Nov 2022 08:24:50 +0000</updated>
                                            <version>Lustre 2.15.0</version>
                                                        <due></due>
                            <votes>0</votes>
                                    <watches>4</watches>
                                                                            <comments>
                            <comment id="314604" author="paf0186" created="Mon, 4 Oct 2021 18:37:20 +0000"  >&lt;p&gt;Can you provide more references on how genradix trees are used to solve this memory allocation problem?&lt;/p&gt;

&lt;p&gt;The description in the kernel docs doesn&apos;t suggest they&apos;re for this sort of problem:&lt;br/&gt;
&lt;a href=&quot;https://www.kernel.org/doc/html/latest/core-api/generic-radix-tree.html&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;&quot;&lt;/a&gt;Generic radix trees/sparse arrays&lt;/p&gt;

&lt;p&gt;Very simple and minimalistic, supporting arbitrary size entries up to PAGE_SIZE.&quot;[&lt;br/&gt;
&lt;a href=&quot;https://www.kernel.org/doc/html/latest/core-api/generic-radix-tree.html&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://www.kernel.org/doc/html/latest/core-api/generic-radix-tree.html&lt;/a&gt;]&lt;/p&gt;</comment>
                            <comment id="314606" author="simmonsja" created="Mon, 4 Oct 2021 18:45:20 +0000"  >&lt;p&gt;See Linux commit&#160;ba20ba2e3743bac786dff777954c11930256075e. Reading the commit you will see&#160;generic radix trees is a direct replacement of flex_array. The link - &lt;a href=&quot;https://www.kernel.org/doc/html/v4.14/core-api/flexible-arrays.html.&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://www.kernel.org/doc/html/v4.14/core-api/flexible-arrays.html&lt;/a&gt;&#160;states the purpose of flexible arrays was to handle the described issue. Currently the only user is procfs. flexible arrays never had that many users.&lt;/p&gt;</comment>
                            <comment id="314621" author="paf0186" created="Mon, 4 Oct 2021 21:22:47 +0000"  >&lt;p&gt;Ah, OK - thanks.&lt;/p&gt;</comment>
                            <comment id="349796" author="gerrit" created="Sat, 15 Oct 2022 15:11:44 +0000"  >&lt;p&gt;&quot;James Simmons &amp;lt;jsimmons@infradead.org&amp;gt;&quot; uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/c/fs/lustre-release/+/48883&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/c/fs/lustre-release/+/48883&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-15058&quot; title=&quot;replace critical vmalloc allocations with genradix&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-15058&quot;&gt;LU-15058&lt;/a&gt; osc: replace large RPC allocations with genradix&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: da4bf845b7e9a5de9ef44e874d434854994b41f7&lt;/p&gt;</comment>
                            <comment id="352861" author="gerrit" created="Mon, 14 Nov 2022 08:24:50 +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/c/fs/lustre-release/+/45890/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/c/fs/lustre-release/+/45890/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-15058&quot; title=&quot;replace critical vmalloc allocations with genradix&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-15058&quot;&gt;LU-15058&lt;/a&gt; libcfs: introduce genradix support&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: 841843f44cd16e2bfb9b31195f7398cff02f9088&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10010">
                    <name>Duplicate</name>
                                                                <inwardlinks description="is duplicated by">
                                        <issuelink>
            <issuekey id="68900">LU-15606</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                            <outwardlinks description="is related to ">
                                        <issuelink>
            <issuekey id="63011">LU-14469</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="58016">LU-13212</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|i0267b:</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>