<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 02:50:56 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-12250] MDS with high rate of ldlm_cancel and Prolong DOM lock</title>
                <link>https://jira.whamcloud.com/browse/LU-12250</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;I&apos;m investigating a metadata slowdown we had tonight on Fir, in terms of metadata. A simple find was super slow. However, when I started to gather stats, the performance came back, so now it seems ok. However, I can still see a lot of ldlm_cancel RPCs so I wanted to report it. I have a script (that I can share if needed)) that takes a 5 secs sample of Lustre RPCs on the MDS and I can see there is a high rate of ldlm_cancel locks. I also see a lot of Prolong DOM lock in the full logs also.&lt;br/&gt;
I&apos;m attaching the output of my script as  &lt;span class=&quot;nobr&quot;&gt;&lt;a href=&quot;https://jira.whamcloud.com/secure/attachment/32509/32509_fir-md1-s2-lrpc-sample.log&quot; title=&quot;fir-md1-s2-lrpc-sample.log attached to LU-12250&quot;&gt;fir-md1-s2-lrpc-sample.log&lt;sup&gt;&lt;img class=&quot;rendericon&quot; src=&quot;https://jira.whamcloud.com/images/icons/link_attachment_7.gif&quot; height=&quot;7&quot; width=&quot;7&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/sup&gt;&lt;/a&gt;&lt;/span&gt;, which shows the NIDs from a 5s rpctrace/rpc debug along with each RPC type found and RPC count), for example:&lt;/p&gt;

&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;Total_RPC_count_for_NID NID LND# RPC_type:count,RPC_type:count,...
3718 sh-107-42-ib0.ib o2ib4 mds_close:1285,ldlm_enqueue:1213,ldlm_cancel:1220
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Also attaching a 5 sec full rpctrace/rpc of fir-md1-s2 (MDT0001 and MDT0003) as  &lt;span class=&quot;nobr&quot;&gt;&lt;a href=&quot;https://jira.whamcloud.com/secure/attachment/32508/32508_fir-md1-s2-rpctrace-rpc-20190430-5s.log.gz&quot; title=&quot;fir-md1-s2-rpctrace-rpc-20190430-5s.log.gz attached to LU-12250&quot;&gt;fir-md1-s2-rpctrace-rpc-20190430-5s.log.gz&lt;sup&gt;&lt;img class=&quot;rendericon&quot; src=&quot;https://jira.whamcloud.com/images/icons/link_attachment_7.gif&quot; height=&quot;7&quot; width=&quot;7&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/sup&gt;&lt;/a&gt;&lt;/span&gt; . This is the most loaded server that&apos;s why.&lt;/p&gt;

&lt;p&gt;I wonder, could the patch for &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-10777&quot; title=&quot;DoM performance is bad with FIO write&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-10777&quot;&gt;&lt;del&gt;LU-10777&lt;/del&gt;&lt;/a&gt; (DoM performance is bad with FIO write), that just landed into master, help us in this case (or the question is... does resends trigger such ldlm_cancel rpcs?).&lt;/p&gt;</description>
                <environment>CentOS 7.6</environment>
        <key id="55535">LU-12250</key>
            <summary>MDS with high rate of ldlm_cancel and Prolong DOM lock</summary>
                <type id="1" iconUrl="https://jira.whamcloud.com/secure/viewavatar?size=xsmall&amp;avatarId=11303&amp;avatarType=issuetype">Bug</type>
                                            <priority id="2" iconUrl="https://jira.whamcloud.com/images/icons/priorities/critical.svg">Critical</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="green">Oleg Drokin</assignee>
                                    <reporter username="sthiell">Stephane Thiell</reporter>
                        <labels>
                    </labels>
                <created>Tue, 30 Apr 2019 07:28:38 +0000</created>
                <updated>Fri, 24 Jul 2020 08:56:11 +0000</updated>
                                            <version>Lustre 2.12.0</version>
                                                        <due></due>
                            <votes>0</votes>
                                    <watches>6</watches>
                                                                            <comments>
                            <comment id="246508" author="sthiell" created="Tue, 30 Apr 2019 07:51:19 +0000"  >&lt;p&gt;The rpc sample file &lt;span class=&quot;nobr&quot;&gt;&lt;a href=&quot;https://jira.whamcloud.com/secure/attachment/32510/32510_fir-md1-s2-lrpc-sample-best.log&quot; title=&quot;fir-md1-s2-lrpc-sample-best.log attached to LU-12250&quot;&gt;fir-md1-s2-lrpc-sample-best.log&lt;sup&gt;&lt;img class=&quot;rendericon&quot; src=&quot;https://jira.whamcloud.com/images/icons/link_attachment_7.gif&quot; height=&quot;7&quot; width=&quot;7&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/sup&gt;&lt;/a&gt;&lt;/span&gt; is actually more accurate as it was taken really during the slowdown. It basically shows that there are ldlm_cancel RPCs to 470 different nodes... seems strange.&lt;/p&gt;</comment>
                            <comment id="246541" author="sthiell" created="Tue, 30 Apr 2019 15:39:56 +0000"  >&lt;p&gt;We added the patch from &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-10777&quot; title=&quot;DoM performance is bad with FIO write&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-10777&quot;&gt;&lt;del&gt;LU-10777&lt;/del&gt;&lt;/a&gt; (DoM performance is bad with FIO write) this morning. I still see a lot of ldlm_cancel RPCs. But perhaps it&apos;s normal? The filesystem is working as expected from the user point of view. I also noticed more ost_read RPCs overall, but I understand that can be the effect of this patch. You can see the new RPCs stats in  &lt;span class=&quot;nobr&quot;&gt;&lt;a href=&quot;https://jira.whamcloud.com/secure/attachment/32511/32511_fir-md1-s2-lrpc-sample-with-LU-10777.log&quot; title=&quot;fir-md1-s2-lrpc-sample-with-LU-10777.log attached to LU-12250&quot;&gt;fir-md1-s2-lrpc-sample-with-LU-10777.log&lt;sup&gt;&lt;img class=&quot;rendericon&quot; src=&quot;https://jira.whamcloud.com/images/icons/link_attachment_7.gif&quot; height=&quot;7&quot; width=&quot;7&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/sup&gt;&lt;/a&gt;&lt;/span&gt;. Thx!&lt;/p&gt;</comment>
                            <comment id="246545" author="sthiell" created="Tue, 30 Apr 2019 17:25:13 +0000"  >&lt;p&gt;Looking more closely, the high rate of `ldlm_cancel` mainly comes from jobs from the same user opening many files in read only from hundreds of nodes. But it looks like the same set of files everywhere. strace of one of her process shows that:&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;[pid 308636] openat(4, &quot;users/ogoann/proj/mcmc/grid_models/x4d8c2t3_mtab.fits&quot;, O_RDONLY|O_LARGEFILE|O_NOFOLLOW) = 56
[pid 184783] openat(4, &quot;users/ogoann/proj/mcmc/grid_models/x4d8c2t3_mtab.fits&quot;, O_RDONLY|O_LARGEFILE|O_NOFOLLOW) = 30
[pid 185061] openat(4, &quot;users/ogoann/proj/mcmc/grid_models/x4d8c2t3_mtab.fits&quot;, O_RDONLY|O_LARGEFILE|O_NOFOLLOW) = 6
[pid 308710] openat(4, &quot;users/ogoann/proj/mcmc/grid_models/x4d8c2t3_mtab.fits&quot;, O_RDONLY|O_LARGEFILE|O_NOFOLLOW) = 6
[pid 317296] openat(4, &quot;users/ogoann/proj/mcmc/grid_models/x4d8c2t3_mtab.fits&quot;, O_RDONLY|O_LARGEFILE|O_NOFOLLOW) = 28
[pid 310705] openat(4, &quot;users/ogoann/proj/mcmc/grid_models/x4d8c2t3_mtab.fits&quot;, O_RDONLY|O_LARGEFILE|O_NOFOLLOW) = 6
[pid 336814] openat(4, &quot;users/ogoann/proj/mcmc/grid_models/x4d8c2t3_mtab.fits&quot;, O_RDONLY|O_LARGEFILE|O_NOFOLLOW) = 28
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&#160;&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;[root@sh-107-55 ~]# lfs getstripe /fir/users/ogoann/proj/mcmc/grid_models/x4d8c2t3_mtab.fits
/fir/users/ogoann/proj/mcmc/grid_models/x4d8c2t3_mtab.fits
&#160; lcm_layout_gen:&#160; &#160; 8
&#160; lcm_mirror_count:&#160; 1
&#160; lcm_entry_count: &#160; 6
&#160; &#160; lcme_id: &#160; &#160; &#160; &#160; &#160; &#160; 1
&#160; &#160; lcme_mirror_id:&#160; &#160; &#160; 0
&#160; &#160; lcme_flags:&#160; &#160; &#160; &#160; &#160; init
&#160; &#160; lcme_extent.e_start: 0
&#160; &#160; lcme_extent.e_end: &#160; 131072
&#160; &#160; &#160; lmm_stripe_count:&#160; 0
&#160; &#160; &#160; lmm_stripe_size: &#160; 131072
&#160; &#160; &#160; lmm_pattern: &#160; &#160; &#160; mdt
&#160; &#160; &#160; lmm_layout_gen:&#160; &#160; 0
&#160; &#160; &#160; lmm_stripe_offset: 0


&#160; &#160; lcme_id: &#160; &#160; &#160; &#160; &#160; &#160; 2
&#160; &#160; lcme_mirror_id:&#160; &#160; &#160; 0
&#160; &#160; lcme_flags:&#160; &#160; &#160; &#160; &#160; init
&#160; &#160; lcme_extent.e_start: 131072
&#160; &#160; lcme_extent.e_end: &#160; 16777216
&#160; &#160; &#160; lmm_stripe_count:&#160; 1
&#160; &#160; &#160; lmm_stripe_size: &#160; 4194304
&#160; &#160; &#160; lmm_pattern: &#160; &#160; &#160; raid0
&#160; &#160; &#160; lmm_layout_gen:&#160; &#160; 0
&#160; &#160; &#160; lmm_stripe_offset: 29
&#160; &#160; &#160; lmm_objects:
&#160; &#160; &#160; - 0: { l_ost_idx: 29, l_fid: [0xcc0000400:0x2ad71b:0x0] }


&#160; &#160; lcme_id: &#160; &#160; &#160; &#160; &#160; &#160; 3
&#160; &#160; lcme_mirror_id:&#160; &#160; &#160; 0
&#160; &#160; lcme_flags:&#160; &#160; &#160; &#160; &#160; init
&#160; &#160; lcme_extent.e_start: 16777216
&#160; &#160; lcme_extent.e_end: &#160; 1073741824
&#160; &#160; &#160; lmm_stripe_count:&#160; 2
&#160; &#160; &#160; lmm_stripe_size: &#160; 4194304
&#160; &#160; &#160; lmm_pattern: &#160; &#160; &#160; raid0
&#160; &#160; &#160; lmm_layout_gen:&#160; &#160; 0
&#160; &#160; &#160; lmm_stripe_offset: 28
&#160; &#160; &#160; lmm_objects:
&#160; &#160; &#160; - 0: { l_ost_idx: 28, l_fid: [0xd80000400:0x2ad810:0x0] }
&#160; &#160; &#160; - 1: { l_ost_idx: 23, l_fid: [0x940000400:0x2ad834:0x0] }


&#160; &#160; lcme_id: &#160; &#160; &#160; &#160; &#160; &#160; 4
&#160; &#160; lcme_mirror_id:&#160; &#160; &#160; 0
&#160; &#160; lcme_flags:&#160; &#160; &#160; &#160; &#160; 0
&#160; &#160; lcme_extent.e_start: 1073741824
&#160; &#160; lcme_extent.e_end: &#160; 34359738368
&#160; &#160; &#160; lmm_stripe_count:&#160; 4
&#160; &#160; &#160; lmm_stripe_size: &#160; 4194304
&#160; &#160; &#160; lmm_pattern: &#160; &#160; &#160; raid0
&#160; &#160; &#160; lmm_layout_gen:&#160; &#160; 0
&#160; &#160; &#160; lmm_stripe_offset: -1


&#160; &#160; lcme_id: &#160; &#160; &#160; &#160; &#160; &#160; 5
&#160; &#160; lcme_mirror_id:&#160; &#160; &#160; 0
&#160; &#160; lcme_flags:&#160; &#160; &#160; &#160; &#160; 0
&#160; &#160; lcme_extent.e_start: 34359738368
&#160; &#160; lcme_extent.e_end: &#160; 274877906944
&#160; &#160; &#160; lmm_stripe_count:&#160; 8
&#160; &#160; &#160; lmm_stripe_size: &#160; 4194304
&#160; &#160; &#160; lmm_pattern: &#160; &#160; &#160; raid0
&#160; &#160; &#160; lmm_layout_gen:&#160; &#160; 0
&#160; &#160; &#160; lmm_stripe_offset: -1


&#160; &#160; lcme_id: &#160; &#160; &#160; &#160; &#160; &#160; 6
&#160; &#160; lcme_mirror_id:&#160; &#160; &#160; 0
&#160; &#160; lcme_flags:&#160; &#160; &#160; &#160; &#160; 0
&#160; &#160; lcme_extent.e_start: 274877906944
&#160; &#160; lcme_extent.e_end: &#160; EOF
&#160; &#160; &#160; lmm_stripe_count:&#160; 16
&#160; &#160; &#160; lmm_stripe_size: &#160; 4194304
&#160; &#160; &#160; lmm_pattern: &#160; &#160; &#160; raid0
&#160; &#160; &#160; lmm_layout_gen:&#160; &#160; 0
&#160; &#160; &#160; lmm_stripe_offset: -1
 &lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Can the read-on-open feature of DOM impact performance of that particular case and triggers the ldlm_cancel, even for read-only files? I&apos;m just wondering, right now things are working fine otherwise. &lt;img class=&quot;emoticon&quot; src=&quot;https://jira.whamcloud.com/images/icons/emoticons/smile.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&#160;&lt;/p&gt;</comment>
                            <comment id="246558" author="green" created="Tue, 30 Apr 2019 18:13:13 +0000"  >&lt;p&gt;it&apos;s possible that these things are just related.&lt;/p&gt;

&lt;p&gt;When you open a lot of files - that creates a lot of locks therefore setting in motion mechanism to reduce lock pressure and cancel some of hte other outstanding locks - hence the lots of locks cancels.&lt;/p&gt;

&lt;p&gt;But the other facet of this is when you do open with DoM if DoM code decides to return any data back - it first needs to read the said data from the server. This might be introducing slowdowns into RPC handling leadign to formation of incoming RPC queue as all the threads are busy trying to do opens and so everything else stuck in the queue behind them.&lt;/p&gt;

&lt;p&gt;You can test this theory by looking into server side stats like this when the problem is occurring:&lt;br/&gt;
lustre/mds/MDS/mdt/stats and check the req_qdepth and perhaps req_waittime values.&lt;/p&gt;</comment>
                            <comment id="246565" author="sthiell" created="Tue, 30 Apr 2019 19:19:08 +0000"  >&lt;p&gt;Awesome, thanks Oleg!! This is super helpful. I didn&apos;t graph these yet, so I&apos;ve added the metrics from&lt;/p&gt;

&lt;p&gt;/sys/kernel/debug/lustre/mds/MDS/mdt/stats&lt;/p&gt;

&lt;p&gt;to our Grafana (I&apos;m taking the max + average (sum/samples) for each entry).&lt;/p&gt;

&lt;p&gt;Interesting that those are per MDS and not MDT. Note that we have 2 MDTs per MDS.&lt;/p&gt;

&lt;p&gt;Right now numbers look very good I guess, but I restarted the MDTs this morning&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;[root@fir-md1-s2 scripts.d]# cat /sys/kernel/debug/lustre/mds/MDS/mdt/stats
snapshot_time &#160; &#160; &#160; &#160; &#160; &#160; 1556651797.816324198 secs.nsecs
req_waittime&#160; &#160; &#160; &#160; &#160; &#160; &#160; 471139359 samples [usec] 3 53973 7349538359 360519029729
req_qdepth&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 471139359 samples [reqs] 0 6 1917287 1956293
req_active&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 471139360 samples [reqs] 1 111 769497155 1918543425
req_timeout &#160; &#160; &#160; &#160; &#160; &#160; &#160; 471139360 samples [sec] 1 20 836111081 8135540191
reqbuf_avail&#160; &#160; &#160; &#160; &#160; &#160; &#160; 998191708 samples [bufs] 32 96 63808464245 4079030772021
ldlm_glimpse_enqueue&#160; &#160; &#160; 3327771 samples [reqs] 1 1 3327771 3327771
ldlm_flock_enqueue&#160; &#160; &#160; &#160; 8883527 samples [reqs] 1 1 8883527 8883527
ldlm_ibits_enqueue&#160; &#160; &#160; &#160; 456100785 samples [reqs] 1 1 456100785 456100785
mds_reint_setattr &#160; &#160; &#160; &#160; 846838 samples [reqs] 1 1 846838 846838
mds_reint_create&#160; &#160; &#160; &#160; &#160; 18230 samples [reqs] 1 1 18230 18230
mds_reint_link&#160; &#160; &#160; &#160; &#160; &#160; 396 samples [reqs] 1 1 396 396
mds_reint_unlink&#160; &#160; &#160; &#160; &#160; 439211 samples [reqs] 1 1 439211 439211
mds_reint_rename&#160; &#160; &#160; &#160; &#160; 14528 samples [reqs] 1 1 14528 14528
mds_reint_open&#160; &#160; &#160; &#160; &#160; &#160; 448013575 samples [reqs] 1 1 448013575 448013575
mds_reint_setxattr&#160; &#160; &#160; &#160; 491 samples [reqs] 1 1 491 491
ost_sync&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 3440 samples [usec] 70 12032 434598 261919830
mds_getattr &#160; &#160; &#160; &#160; &#160; &#160; &#160; 2106 samples [usec] 13 1239 53990 4786790
mds_getattr_lock&#160; &#160; &#160; &#160; &#160; 1 samples [usec] 96 96 96 9216
mds_connect &#160; &#160; &#160; &#160; &#160; &#160; &#160; 5404 samples [usec] 5 999369 19610008 11100644683594
mds_disconnect&#160; &#160; &#160; &#160; &#160; &#160; 2 samples [usec] 70 86 156 12296
mds_statfs&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 10543 samples [usec] 9 312 586244 37145030
mds_sync&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 3440 samples [usec] 75 233664 61955554 7498190710542
mds_quotactl&#160; &#160; &#160; &#160; &#160; &#160; &#160; 2688 samples [usec] 28 1075 145337 9915395
mds_getxattr&#160; &#160; &#160; &#160; &#160; &#160; &#160; 143070 samples [usec] 12 1371 3196191 77352011
mds_hsm_state_set &#160; &#160; &#160; &#160; 578 samples [usec] 201 12304 266279 543288397
obd_ping&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 1311390 samples [usec] 0 460 18172871 311334181 &lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                            <comment id="246571" author="green" created="Wed, 1 May 2019 01:31:43 +0000"  >&lt;p&gt;the reason these are per MDS is because thread pools are shared on every node. For the same reason if you only have a single slow OST on an OSS node, it wold quickly clog all io threads on the entire node and all OSTs would feel slow.&lt;/p&gt;

&lt;p&gt;So just keep in mind a single target could affect entire node performance if it&apos;s making threads to run for a long time. There were some discussions to allow NRS to create per-target limits on a node to avoid this, but I don&apos;t remember seeing any patches.&lt;/p&gt;

&lt;p&gt;If you are graphing this stuff, definitely do it for all thread pools (there are multiple on MDS) + add the OSS counterparts too, I guess.&lt;/p&gt;</comment>
                            <comment id="246751" author="sthiell" created="Mon, 6 May 2019 17:51:04 +0000"  >&lt;p&gt;I don&apos;t graph that for all thread pools yet (I&apos;ll check thanks). But in the following screenshot you can see that the max value of max req_qdepth went up to 80 and max req_waitiime up to 26 seconds during the last few days.&lt;/p&gt;

&lt;p&gt;&lt;span class=&quot;image-wrap&quot; style=&quot;&quot;&gt;&lt;a id=&quot;32534_thumb&quot; href=&quot;https://jira.whamcloud.com/secure/attachment/32534/32534_fir-MDS-reqstats.png&quot; title=&quot;fir-MDS-reqstats.png&quot; file-preview-type=&quot;image&quot; file-preview-id=&quot;32534&quot; file-preview-title=&quot;fir-MDS-reqstats.png&quot;&gt;&lt;img src=&quot;https://jira.whamcloud.com/secure/thumbnail/32534/_thumb_32534.png&quot; style=&quot;border: 0px solid black&quot; role=&quot;presentation&quot;/&gt;&lt;/a&gt;&lt;/span&gt; &lt;/p&gt;

&lt;p&gt;Our two MDS are now very different in terms of load:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;&lt;tt&gt;fir-md1-s1&lt;/tt&gt; which serves MDT0000 and MDT0002 is still quite loaded with a LOT of &lt;tt&gt;ldlm_cancel&lt;/tt&gt; from compute nodes, but also &lt;tt&gt;quota_dqacq&lt;/tt&gt; from two OSS (out of 8):&lt;/li&gt;
&lt;/ul&gt;


&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;Highest RPCs per clients (5-second sample):

6956 sh-113-01-ib0.ib o2ib4 mds_close:2070,ldlm_enqueue:2729,ldlm_cancel:2157
7358 sh-113-03-ib0.ib o2ib4 mds_close:2188,ldlm_enqueue:2873,ldlm_cancel:2297
7627 sh-112-16-ib0.ib o2ib4 mds_close:2290,ldlm_enqueue:2975,ldlm_cancel:2362
7767 10.9.115.10 o2ib4 mds_close:2292,ldlm_enqueue:3054,ldlm_cancel:2421
8089 sh-112-14-ib0.ib o2ib4 mds_close:2449,ldlm_enqueue:3147,ldlm_cancel:2493
8960 fir-io4-s2 o2ib7 obd_ping:7,quota_dqacq:8953
10906       0 lo ldlm_enqueue:141,ldlm_cancel:177,ldlm_bl_callback:1,obd_ping:1,1000:38,quota_dqacq:10548
17767 fir-io3-s2 o2ib7 quota_dqacq:17767
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;fir-io3-s2 and fir-io4-s2  are both OSS here.&lt;/p&gt;

&lt;p&gt;htop for &lt;tt&gt;fir-md1-s1&lt;/tt&gt;:&lt;/p&gt;

&lt;p&gt; &lt;span class=&quot;image-wrap&quot; style=&quot;&quot;&gt;&lt;a id=&quot;32535_thumb&quot; href=&quot;https://jira.whamcloud.com/secure/attachment/32535/32535_fir-md1-s1-htop-20190506.png&quot; title=&quot;fir-md1-s1-htop-20190506.png&quot; file-preview-type=&quot;image&quot; file-preview-id=&quot;32535&quot; file-preview-title=&quot;fir-md1-s1-htop-20190506.png&quot;&gt;&lt;img src=&quot;https://jira.whamcloud.com/secure/thumbnail/32535/_thumb_32535.png&quot; style=&quot;border: 0px solid black&quot; role=&quot;presentation&quot;/&gt;&lt;/a&gt;&lt;/span&gt; &lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;&lt;tt&gt;fir-md1-s2&lt;/tt&gt; which serves MDT0001 and MDT0003 is now much less loaded. A &lt;tt&gt;lquota_wb_fir-M&lt;/tt&gt; thread stays on top. htop for &lt;tt&gt;fir-md1-s2&lt;/tt&gt;:&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt; &lt;span class=&quot;image-wrap&quot; style=&quot;&quot;&gt;&lt;a id=&quot;32536_thumb&quot; href=&quot;https://jira.whamcloud.com/secure/attachment/32536/32536_fir-md1-s2-htop-20190506.png&quot; title=&quot;fir-md1-s2-htop-20190506.png&quot; file-preview-type=&quot;image&quot; file-preview-id=&quot;32536&quot; file-preview-title=&quot;fir-md1-s2-htop-20190506.png&quot;&gt;&lt;img src=&quot;https://jira.whamcloud.com/secure/thumbnail/32536/_thumb_32536.png&quot; style=&quot;border: 0px solid black&quot; role=&quot;presentation&quot;/&gt;&lt;/a&gt;&lt;/span&gt; &lt;/p&gt;

&lt;p&gt;But otherwise the filesystem seems fine and usable.&lt;/p&gt;</comment>
                            <comment id="255010" author="sthiell" created="Wed, 18 Sep 2019 20:56:00 +0000"  >&lt;p&gt;Oleg, I found your presentation &quot;Lustre Locking overview&quot; at &lt;a href=&quot;https://lustre.ornl.gov/ecosystem-2017/documents/Day-2_Tutorial-4_Drokin.pdf&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://lustre.ornl.gov/ecosystem-2017/documents/Day-2_Tutorial-4_Drokin.pdf&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In slide 11, you wrote &#8220;If you have a lot of RAM, it makes sense to increase these values&#8221;, so I&apos;m wondering if increasing the following values would make sense to reduce the rate of ldlm_cancel RPCs overall.&lt;/p&gt;

&lt;p&gt;2.12.2+:&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;[root@fir-md1-s2 ~]# lctl get_param ldlm.lock_limit_mb
ldlm.lock_limit_mb=77216
[root@fir-md1-s2 ~]# lctl get_param ldlm.lock_reclaim_threshold_mb
ldlm.lock_reclaim_threshold_mb=51478
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;2.10.8+:&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;[root@oak-md1-s2 ~]# lctl get_param ldlm.lock_limit_mb
ldlm.lock_limit_mb=38549
[root@oak-md1-s2 ~]# lctl get_param ldlm.lock_reclaim_threshold_mb
ldlm.lock_reclaim_threshold_mb=25699
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                            <comment id="276076" author="martinetd" created="Fri, 24 Jul 2020 08:56:11 +0000"  >&lt;p&gt;btw this is old but if you have selinux enabled (even in permissive mode, given the number of xattr requests it probably is) this actually could be &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-9193&quot; title=&quot;Multiple hangs observed  with many open/getattr&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-9193&quot;&gt;&lt;del&gt;LU-9193&lt;/del&gt;&lt;/a&gt; - the selinux xattr request has different locking requirements so will cause many cancels when opening files in the same directory.&lt;/p&gt;

&lt;p&gt;The fix only made its way to 2.13 (the 2.12 backport got reverted immediately) so that&apos;ll only help after both servers and clients get upgraded though. I&apos;m told atos backported it (with &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-12212&quot; title=&quot;Often requests timeouts during dbench run&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-12212&quot;&gt;&lt;del&gt;LU-12212&lt;/del&gt;&lt;/a&gt; that fixed the original patch) in their 2.12.5 ; it&apos;s a shame it didn&apos;t make it for the community version.&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                            <attachment id="32534" name="fir-MDS-reqstats.png" size="87579" author="sthiell" created="Mon, 6 May 2019 17:40:16 +0000"/>
                            <attachment id="32535" name="fir-md1-s1-htop-20190506.png" size="570941" author="sthiell" created="Mon, 6 May 2019 17:48:30 +0000"/>
                            <attachment id="32536" name="fir-md1-s2-htop-20190506.png" size="538314" author="sthiell" created="Mon, 6 May 2019 17:50:23 +0000"/>
                            <attachment id="32510" name="fir-md1-s2-lrpc-sample-best.log" size="37015" author="sthiell" created="Tue, 30 Apr 2019 07:49:08 +0000"/>
                            <attachment id="32511" name="fir-md1-s2-lrpc-sample-with-LU-10777.log" size="25134" author="sthiell" created="Tue, 30 Apr 2019 15:38:49 +0000"/>
                            <attachment id="32509" name="fir-md1-s2-lrpc-sample.log" size="18780" author="sthiell" created="Tue, 30 Apr 2019 07:27:23 +0000"/>
                            <attachment id="32508" name="fir-md1-s2-rpctrace-rpc-20190430-5s.log.gz" size="22215129" author="sthiell" created="Tue, 30 Apr 2019 07:28:35 +0000"/>
                    </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|i00fn3:</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>