<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 03:01:36 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-13476] vvp_set_pagevec_dirty / vvp_page_completion_write lock ordering appears to trigger RCU stalls</title>
                <link>https://jira.whamcloud.com/browse/LU-13476</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;vvp_set_pagevec_dirty&lt;/p&gt;

&lt;p&gt;locks mapping-&amp;gt;page_tree and integrates over pages&lt;br/&gt;
lock_page_memcg&lt;br/&gt;
&amp;lt;work&amp;gt;&lt;br/&gt;
unock_page_memcg&lt;br/&gt;
vvp_page_completion_write&lt;br/&gt;
calls lock_page_memcg&lt;br/&gt;
and then locks mapping-&amp;gt;page_tree&lt;/p&gt;

&lt;p&gt;This can cause an extended lock or deadlock with vvp_set_pagevec_dirty&lt;/p&gt;

&lt;p&gt;One core spinning here&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;#0 [ffffc9000b97fa78] _raw_spin_lock_irqsave at ffffffff815b65e9
    /home/abuild/rpmbuild/BUILD/kernel-cray_ari_c-4.12.14/linux-4.12.14/linux-obj/../kernel/locking/spinlock.c: 160
#1 [ffffc9000b97fa98] lock_page_memcg at ffffffff811d7a89
    /home/abuild/rpmbuild/BUILD/kernel-cray_ari_c-4.12.14/linux-4.12.14/linux-obj/../mm/memcontrol.c: 1695
#2 [ffffc9000b97fac0] test_clear_page_writeback at ffffffff8117c479
    /home/abuild/rpmbuild/BUILD/kernel-cray_ari_c-4.12.14/linux-4.12.14/linux-obj/../mm/page-writeback.c: 2780
#3 [ffffc9000b97fb10] end_page_writeback at ffffffff8116a657
    /home/abuild/rpmbuild/BUILD/kernel-cray_ari_c-4.12.14/linux-4.12.14/linux-obj/../mm/filemap.c: 1273
#4 [ffffc9000b97fb28] vvp_page_completion_write at ffffffffa0816341 [lustre]
    /home/abuild/rpmbuild/BUILD/cray-lustre-2.12.0.5_cray_290_gdd6781b/lustre/llite/vvp_page.c: 316
#5 [ffffc9000b97fb58] cl_page_completion at ffffffffa0504663 [obdclass]
    /home/abuild/rpmbuild/BUILD/cray-lustre-2.12.0.5_cray_290_gdd6781b/lustre/obdclass/cl_page.c: 931
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;With many cores spinning here:&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;  _raw_spin_lock_irqsave+0x39/0x50
  vvp_set_pagevec_dirty+0x97/0x3a0 [lustre]
  write_commit_callback+0x64/0x1a0 [lustre]
  osc_queue_async_io+0x910/0x18e0 [osc]
  ? vvp_set_pagevec_dirty+0x3a0/0x3a0 [lustre]
  ? vvp_set_pagevec_dirty+0x3a0/0x3a0 [lustre]
  osc_page_cache_add+0x5f/0x180 [osc]
  osc_io_commit_async+0x2a0/0x500 [osc]
  ? vvp_set_pagevec_dirty+0x3a0/0x3a0 [lustre]
  ? vvp_set_pagevec_dirty+0x3a0/0x3a0 [lustre]
  cl_io_commit_async+0xa9/0x150 [obdclass]
  ? vvp_set_pagevec_dirty+0x3a0/0x3a0 [lustre]
  lov_io_commit_async+0x106/0x580 [lov]
  ? vvp_set_pagevec_dirty+0x3a0/0x3a0 [lustre]
  ? vvp_set_pagevec_dirty+0x3a0/0x3a0 [lustre]
  cl_io_commit_async+0xa9/0x150 [obdclass]
  vvp_io_write_commit+0x157/0x5e0 [lustre]
  vvp_io_write_start+0x6ac/0x8b0 [lustre]
  cl_io_start+0x6e/0x120 [obdclass]
  cl_io_loop+0xca/0x1c0 [obdclass]
  ll_file_io_generic+0x3c9/0xdd0 [lustre]
  ll_file_write_iter+0x124/0x630 [lustre]
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Would explain the RCU stall where the memcg and tree_lock/i_pages order is inverted.&lt;/p&gt;</description>
                <environment></environment>
        <key id="58874">LU-13476</key>
            <summary>vvp_set_pagevec_dirty / vvp_page_completion_write lock ordering appears to trigger RCU stalls</summary>
                <type id="1" iconUrl="https://jira.whamcloud.com/secure/viewavatar?size=xsmall&amp;avatarId=11303&amp;avatarType=issuetype">Bug</type>
                                            <priority id="4" iconUrl="https://jira.whamcloud.com/images/icons/priorities/minor.svg">Minor</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="stancheff">Shaun Tancheff</assignee>
                                    <reporter username="stancheff">Shaun Tancheff</reporter>
                        <labels>
                    </labels>
                <created>Wed, 22 Apr 2020 20:46:44 +0000</created>
                <updated>Thu, 22 Oct 2020 08:04:21 +0000</updated>
                            <resolved>Sat, 4 Jul 2020 13:58:34 +0000</resolved>
                                                    <fixVersion>Lustre 2.14.0</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>2</watches>
                                                                            <comments>
                            <comment id="268293" author="gerrit" created="Wed, 22 Apr 2020 20:49:23 +0000"  >&lt;p&gt;Shaun Tancheff (shaun.tancheff@hpe.com) uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/38317&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/38317&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-13476&quot; title=&quot;vvp_set_pagevec_dirty / vvp_page_completion_write lock ordering appears to trigger RCU stalls&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-13476&quot;&gt;&lt;del&gt;LU-13476&lt;/del&gt;&lt;/a&gt; llite: Fix lock ordering in pagevec_dirty&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: cad8986a0f38d578330b00866fc6e9dac496293c&lt;/p&gt;</comment>
                            <comment id="274417" author="gerrit" created="Sat, 4 Jul 2020 03:04:13 +0000"  >&lt;p&gt;Oleg Drokin (green@whamcloud.com) merged in patch &lt;a href=&quot;https://review.whamcloud.com/38317/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/38317/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-13476&quot; title=&quot;vvp_set_pagevec_dirty / vvp_page_completion_write lock ordering appears to trigger RCU stalls&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-13476&quot;&gt;&lt;del&gt;LU-13476&lt;/del&gt;&lt;/a&gt; llite: Fix lock ordering in pagevec_dirty&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: c4ed9b0fb10132a9683362ae90caf4c64a29062c&lt;/p&gt;</comment>
                            <comment id="274451" author="pjones" created="Sat, 4 Jul 2020 13:58:34 +0000"  >&lt;p&gt;Landed for 2.14&lt;/p&gt;</comment>
                            <comment id="282968" author="gerrit" created="Thu, 22 Oct 2020 08:04:21 +0000"  >&lt;p&gt;Jian Yu (yujian@whamcloud.com) uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/40358&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/40358&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-13476&quot; title=&quot;vvp_set_pagevec_dirty / vvp_page_completion_write lock ordering appears to trigger RCU stalls&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-13476&quot;&gt;&lt;del&gt;LU-13476&lt;/del&gt;&lt;/a&gt; llite: Fix lock ordering in pagevec_dirty&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: b2_12&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: aa658dc640d1d1eed997d83337dc707fe24d4965&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|i00yjz:</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>