<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 02:06: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-7101] Lnet: Support per NI map-on-demand</title>
                <link>https://jira.whamcloud.com/browse/LU-7101</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;MLX5 does not support FMR.  With the removal of PMR (&lt;a href=&quot;https://jira.whamcloud.com/browse/LU-6850&quot; title=&quot;Remove use of ib_reg_phys_mr() from o2iblnd &quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-6850&quot;&gt;&lt;del&gt;LU-6850&lt;/del&gt;&lt;/a&gt;) we need a way to support MLX5. &lt;/p&gt;

&lt;p&gt;To do so the following solution is devised.  FMR is enabled by setting map-on-demand to: 0 &amp;lt; value &amp;lt;=256.  &lt;/p&gt;

&lt;p&gt;This represents a problem for coexistence nodes with both OPA and MLX5.  OPA performance is greatly enhanced by setting map-on-demand, however if map-on-demand is set for MLX5, then it will not work.&lt;/p&gt;

&lt;p&gt;We need to be able to support per-NI map-on-demand value; therefore when OPA net is configured it can use optimal map-on-demand value, but when MLX5 is configured map-on-demand can be set to 0, disabling it.&lt;/p&gt;

&lt;p&gt;However, this raises another issue which is different map-on-demand values across fabrics.  LNet currently doesn&apos;t support this.  However &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-3322&quot; title=&quot;ko2iblnd support for different map_on_demand and peer_credits between systems&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-3322&quot;&gt;&lt;del&gt;LU-3322&lt;/del&gt;&lt;/a&gt; adds support for this scenario.  This problem is relevant for both OPA support and for support of clusters which have both MLX5 and MLX4 interconnected.&lt;/p&gt;

&lt;p&gt;The proposed solution is consistent of three patches.&lt;br/&gt;
1. &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-6850&quot; title=&quot;Remove use of ib_reg_phys_mr() from o2iblnd &quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-6850&quot;&gt;&lt;del&gt;LU-6850&lt;/del&gt;&lt;/a&gt; patch which removed support for PMR&lt;br/&gt;
2. &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-3322&quot; title=&quot;ko2iblnd support for different map_on_demand and peer_credits between systems&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-3322&quot;&gt;&lt;del&gt;LU-3322&lt;/del&gt;&lt;/a&gt; support for different map-on-demand and peertxcredits values across the network.&lt;br/&gt;
3. The patch for this LU, which adds support for per NI map-on-demand.&lt;/p&gt;

&lt;p&gt;Future patch will add support for dynamic setting of map-on-demand, but that&apos;s a future feature not required to address the immediate need.&lt;/p&gt;</description>
                <environment></environment>
        <key id="31920">LU-7101</key>
            <summary>Lnet: Support per NI map-on-demand</summary>
                <type id="1" iconUrl="https://jira.whamcloud.com/secure/viewavatar?size=xsmall&amp;avatarId=11303&amp;avatarType=issuetype">Bug</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="ashehata">Amir Shehata</assignee>
                                    <reporter username="ashehata">Amir Shehata</reporter>
                        <labels>
                    </labels>
                <created>Fri, 4 Sep 2015 00:47:36 +0000</created>
                <updated>Mon, 30 Jan 2017 16:25:02 +0000</updated>
                            <resolved>Mon, 11 Apr 2016 13:35:06 +0000</resolved>
                                                    <fixVersion>Lustre 2.9.0</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>16</watches>
                                                                            <comments>
                            <comment id="127022" author="gerrit" created="Fri, 11 Sep 2015 01:14:11 +0000"  >&lt;p&gt;Amir Shehata (amir.shehata@intel.com) uploaded a new patch: &lt;a href=&quot;http://review.whamcloud.com/16367&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/16367&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-7101&quot; title=&quot;Lnet: Support per NI map-on-demand&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-7101&quot;&gt;&lt;del&gt;LU-7101&lt;/del&gt;&lt;/a&gt; lnet: per NI map-on-demand value&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: e77ed3e90197a749ba4d301ae5414731f861b5cd&lt;/p&gt;</comment>
                            <comment id="127102" author="simmonsja" created="Fri, 11 Sep 2015 17:19:13 +0000"  >&lt;p&gt;I just tested this patch set and got it to work. For this set of test I didn&apos;t use map_on_demand at all. For the mlx5 driver map_on_demand will not work. It always gives the follow error no matter what value I set to map_on_demand:&lt;/p&gt;

&lt;p&gt;LNetError: 8048:0:(o2iblnd.c:2242:kiblnd_net_init_pools()) Can&apos;t set fmr pool size (512) &amp;lt; ntx / 4(1280)&lt;br/&gt;
[ 3766.868871] LNetError: 8048:0:(o2iblnd.c:3110:kiblnd_startup()) Failed to initialize NI pools: -22&lt;/p&gt;

&lt;p&gt;My config string is:&lt;/p&gt;

&lt;p&gt;options ko2iblnd timeout=100 credits=2560 ntx=5120 peer_credits=63 concurrent_sends=63&lt;/p&gt;

&lt;p&gt;What I did find that work with the mlx5 driver is:&lt;/p&gt;

&lt;p&gt;options ko2iblnd timeout=100 credits=2560 ntx=5120 peer_credits=16 concurrent_sends=16&lt;/p&gt;

&lt;p&gt;On the server side I&apos;m still using the config string: &lt;/p&gt;

&lt;p&gt;options ko2iblnd timeout=100 credits=2560 ntx=5120 peer_credits=63 concurrent_sends=63&lt;/p&gt;

&lt;p&gt;I haven&apos;t tried map_on_demand on the server side yet. Any suggestions to bump up the peer_credits?&lt;/p&gt;</comment>
                            <comment id="128379" author="jfilizetti" created="Thu, 24 Sep 2015 16:13:30 +0000"  >&lt;p&gt;In lustre&apos;s current o2iblnd LND map_on_demand != 0 is equivalent to enabling FMR.  Since mlx5 doesn&apos;t support FMR it will fail.  The error you are seeing is because fmr_pool_size defaults to 512 but even if you change it to a larger value though it should then fail in kiblnd_create_fmr_pool on the call to ib_create_fmr_pool.&lt;/p&gt;
</comment>
                            <comment id="132852" author="simmonsja" created="Fri, 6 Nov 2015 17:37:20 +0000"  >&lt;p&gt;Latest patch update has a new look for lnetctl net show -v&lt;/p&gt;

&lt;p&gt;net:&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;net: lo&lt;br/&gt;
      nid: 0@lo&lt;br/&gt;
      status: up&lt;br/&gt;
      tunables:&lt;br/&gt;
          peer_timeout: 0&lt;br/&gt;
          peer_credits: 0&lt;br/&gt;
          peer_buffer_credits: 0&lt;br/&gt;
          credits: 0&lt;br/&gt;
          CPT: &quot;&lt;span class=&quot;error&quot;&gt;&amp;#91;0,0&amp;#93;&lt;/span&gt;&quot;&lt;/li&gt;
	&lt;li&gt;net: o2ib1&lt;br/&gt;
      nid: 10.37.248.19@o2ib1&lt;br/&gt;
      status: up&lt;br/&gt;
      interfaces:&lt;br/&gt;
          0: ib0&lt;br/&gt;
      tunables:&lt;br/&gt;
          peer_timeout: 180&lt;br/&gt;
          peer_buffer_credits: 0&lt;br/&gt;
          peer_credits: 63&lt;br/&gt;
          credits: 2560&lt;br/&gt;
          CPT: &quot;&lt;span class=&quot;error&quot;&gt;&amp;#91;0,0&amp;#93;&lt;/span&gt;&quot;&lt;br/&gt;
      LND tunables:&lt;br/&gt;
          use_privileged_port: 1&lt;br/&gt;
          require_privileged_port: 0&lt;br/&gt;
          dev_failover: 0&lt;br/&gt;
          fmr_cache: 1&lt;br/&gt;
          fmr_flush_trigger: 1024&lt;br/&gt;
          fmr_pool_size: 1280&lt;br/&gt;
          map_on_demand: 256&lt;br/&gt;
          concurrent_sends: 63&lt;br/&gt;
          ib_mtu: 0&lt;br/&gt;
          keepalive: 100&lt;br/&gt;
          rnr_retry_count: 6&lt;br/&gt;
          retry_count: 5&lt;br/&gt;
          ipif_name: ib0&lt;br/&gt;
          peer_credits_hiw: 31&lt;br/&gt;
          ntx: 5120&lt;br/&gt;
          nscheds: 0&lt;br/&gt;
          timeout: 100&lt;br/&gt;
          cksum: 0&lt;br/&gt;
          service: 987&lt;/li&gt;
&lt;/ul&gt;
</comment>
                            <comment id="136625" author="simmonsja" created="Wed, 16 Dec 2015 21:47:08 +0000"  >&lt;p&gt;Updated the patch to support setting FMR pool parameters as well. The patch is flexible enough to allow different settings on different IB ports on the same node. See the output of lnetctl net show -v&lt;br/&gt;
This is big step forward in that we can now support different types of IIB hardware in the same node and configure each one independently.&lt;/p&gt;

&lt;p&gt;net:&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;net: lo&lt;br/&gt;
      nid: 0.0.0.0@lo&lt;br/&gt;
      status: up&lt;br/&gt;
      tunables:&lt;br/&gt;
          peer_timeout: 0&lt;br/&gt;
          peer_credits: 0&lt;br/&gt;
          peer_buffer_credits: 0&lt;br/&gt;
          credits: 0&lt;/li&gt;
	&lt;li&gt;net: o2ib1&lt;br/&gt;
      nid: pike11-ib0@o2ib1&lt;br/&gt;
      status: up&lt;br/&gt;
      interfaces:&lt;br/&gt;
          0: ib0&lt;br/&gt;
      tunables:&lt;br/&gt;
          peer_timeout: 100&lt;br/&gt;
          peer_credits: 16&lt;br/&gt;
          peer_buffer_credits: 0&lt;br/&gt;
          credits: 2560&lt;br/&gt;
          CPT: &quot;&lt;span class=&quot;error&quot;&gt;&amp;#91;0,0&amp;#93;&lt;/span&gt;&quot;&lt;br/&gt;
      LND tunables:&lt;br/&gt;
          peercredits_hiw: 8&lt;br/&gt;
          map_on_demand: 256&lt;br/&gt;
          concurrent_sends: 32&lt;br/&gt;
          fmr_pool_size: 1280&lt;br/&gt;
          fmr_flush_trigger: 1024&lt;br/&gt;
          fmr_cache: 1&lt;/li&gt;
	&lt;li&gt;net: o2ib2&lt;br/&gt;
      nid: pike12-ib1@o2ib2&lt;br/&gt;
      status: up&lt;br/&gt;
      interfaces:&lt;br/&gt;
          0: ib1&lt;br/&gt;
      tunables:&lt;br/&gt;
          peer_timeout: 180&lt;br/&gt;
          peer_credits: 16&lt;br/&gt;
          peer_buffer_credits: 0&lt;br/&gt;
          credits: 2560&lt;br/&gt;
          CPT: &quot;&lt;span class=&quot;error&quot;&gt;&amp;#91;0,0,0,0&amp;#93;&lt;/span&gt;&quot;&lt;br/&gt;
      LND tunables:&lt;br/&gt;
          peercredits_hiw: 8&lt;br/&gt;
          map_on_demand: 0&lt;br/&gt;
          concurrent_sends: 16&lt;br/&gt;
          fmr_pool_size: 512&lt;br/&gt;
          fmr_flush_trigger: 384&lt;br/&gt;
          fmr_cache: 1&lt;/li&gt;
&lt;/ul&gt;

</comment>
                            <comment id="148119" author="gerrit" created="Thu, 7 Apr 2016 15:36:13 +0000"  >&lt;p&gt;Oleg Drokin (oleg.drokin@intel.com) merged in patch &lt;a href=&quot;http://review.whamcloud.com/16367/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/16367/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-7101&quot; title=&quot;Lnet: Support per NI map-on-demand&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-7101&quot;&gt;&lt;del&gt;LU-7101&lt;/del&gt;&lt;/a&gt; lnet: per NI map-on-demand value&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: 94d1ce46562bd36c8959a9458cacabb7f6df681f&lt;/p&gt;</comment>
                            <comment id="148371" author="jgmitter" created="Mon, 11 Apr 2016 13:35:06 +0000"  >&lt;p&gt;Landed to master for 2.9.0&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10010">
                    <name>Duplicate</name>
                                                                <inwardlinks description="is duplicated by">
                                                        </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                            <outwardlinks description="is related to ">
                                                        </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="36138">LU-8022</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="18907">LU-3322</issuekey>
        </issuelink>
                            </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|hzxmhb:</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>
                                                                                            <customfield id="customfield_10060" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Severity</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10022"><![CDATA[3]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                        </customfields>
    </item>
</channel>
</rss>