<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 03:01:43 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-13490] readahead thread breaks read stats in jobstats</title>
                <link>https://jira.whamcloud.com/browse/LU-13490</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;Parallel readahead introcued after &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-12043&quot; title=&quot;improve Lustre single thread read performances&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-12043&quot;&gt;&lt;del&gt;LU-12043&lt;/del&gt;&lt;/a&gt; (commit c279167) and kernel threads does readahead in parallel, but there is a regression that broek read stats in jobstats.&lt;br/&gt;
 Here is a reproducer.&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@mgs ~]# lctl conf_param vLustre.sys.jobid_var=procname_uid

[root@client ~]# ior -w -t 1m -b 1g -e -o /vLustre/out/file -k
[root@client ~]# echo 3 &amp;gt; /proc/sys/vm/drop_caches 
[root@client ~]# ior -r -t 1m -b 1g -e -o /vLustre/out/file -k

[root@oss1 ~]# lctl get_param obdfilter.*.job_stats
obdfilter.vLustre-OST0000.job_stats=
job_stats:
- job_id:          ior.0
  snapshot_time:   1588138284
  read_bytes:      { samples:          16, unit: bytes, min: 1048576, max: 4194304, sum:        62914560 }
  write_bytes:     { samples:         256, unit: bytes, min: 4194304, max: 4194304, sum:      1073741824 }
  getattr:         { samples:           0, unit:  reqs }
  setattr:         { samples:           0, unit:  reqs }
  punch:           { samples:           0, unit:  reqs }
  sync:            { samples:           1, unit:  reqs }
  destroy:         { samples:           0, unit:  reqs }
  create:          { samples:           0, unit:  reqs }
  statfs:          { samples:           0, unit:  reqs }
  get_info:        { samples:           0, unit:  reqs }
  set_info:        { samples:           0, unit:  reqs }
  quotactl:        { samples:           0, unit:  reqs }
- job_id:          kworker/u4:1.0
  snapshot_time:   1588138285
  read_bytes:      { samples:         135, unit: bytes, min: 4194304, max: 4194304, sum:       566231040 }
  write_bytes:     { samples:           0, unit: bytes, min:       0, max:       0, sum:               0 }
  getattr:         { samples:           0, unit:  reqs }
  setattr:         { samples:           0, unit:  reqs }
  punch:           { samples:           0, unit:  reqs }
  sync:            { samples:           0, unit:  reqs }
  destroy:         { samples:           0, unit:  reqs }
  create:          { samples:           0, unit:  reqs }
  statfs:          { samples:           0, unit:  reqs }
  get_info:        { samples:           0, unit:  reqs }
  set_info:        { samples:           0, unit:  reqs }
  quotactl:        { samples:           0, unit:  reqs }
- job_id:          kworker/u4:3.0
  snapshot_time:   1588138284
  read_bytes:      { samples:         106, unit: bytes, min: 4194304, max: 4194304, sum:       444596224 }
  write_bytes:     { samples:           0, unit: bytes, min:       0, max:       0, sum:               0 }
  getattr:         { samples:           0, unit:  reqs }
  setattr:         { samples:           0, unit:  reqs }
  punch:           { samples:           0, unit:  reqs }
  sync:            { samples:           0, unit:  reqs }
  destroy:         { samples:           0, unit:  reqs }
  create:          { samples:           0, unit:  reqs }
  statfs:          { samples:           0, unit:  reqs }
  get_info:        { samples:           0, unit:  reqs }
  set_info:        { samples:           0, unit:  reqs }
  quotactl:        { samples:           0, unit:  reqs }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;it&apos;s bad idea of tracking read stats per kernel thread rathar than real application pid. it won&apos;t be able to see read stats per job id.&lt;/p&gt;</description>
                <environment></environment>
        <key id="58957">LU-13490</key>
            <summary>readahead thread breaks read stats in jobstats</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="wshilong">Wang Shilong</assignee>
                                    <reporter username="sihara">Shuichi Ihara</reporter>
                        <labels>
                    </labels>
                <created>Wed, 29 Apr 2020 05:34:57 +0000</created>
                <updated>Thu, 23 Sep 2021 17:19:11 +0000</updated>
                            <resolved>Thu, 14 May 2020 14:50:43 +0000</resolved>
                                    <version>Lustre 2.14.0</version>
                                    <fixVersion>Lustre 2.14.0</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>9</watches>
                                                                            <comments>
                            <comment id="268848" author="adilger" created="Wed, 29 Apr 2020 08:02:33 +0000"  >&lt;p&gt;There is an exception table for jobid that skips specific thread names, but I don&apos;t think it can work in this case. Maybe it would be better to check if the thread has &lt;tt&gt;PF_KERNTHREAD&lt;/tt&gt; set?   Also, I think it is possible to cache the jobid in &lt;tt&gt;struct ll_jnode_info&lt;/tt&gt;, so if that was set then it would report the correct jobid to the OSS. &lt;/p&gt;</comment>
                            <comment id="268864" author="pjones" created="Wed, 29 Apr 2020 13:04:05 +0000"  >&lt;p&gt;Shilong&lt;/p&gt;

&lt;p&gt;Could you please advise?&lt;/p&gt;

&lt;p&gt;Thanks&lt;/p&gt;

&lt;p&gt;Peter&lt;/p&gt;</comment>
                            <comment id="268961" author="wshilong" created="Thu, 30 Apr 2020 09:20:47 +0000"  >&lt;p&gt;One of possible way to solve the issue could be we pass original task_struct to job_id, and use passed task_struct to pass jobid information which should fix this problem.&lt;/p&gt;</comment>
                            <comment id="268963" author="gerrit" created="Thu, 30 Apr 2020 10:25:59 +0000"  >&lt;p&gt;Wang Shilong (wshilong@ddn.com) uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/38426&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/38426&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-13490&quot; title=&quot;readahead thread breaks read stats in jobstats&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-13490&quot;&gt;&lt;del&gt;LU-13490&lt;/del&gt;&lt;/a&gt; lustre: fix to make jobstats work for async ra&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: cfdc2b04d3d89a1629e5df1dde882af34d18e4aa&lt;/p&gt;</comment>
                            <comment id="270155" author="gerrit" created="Thu, 14 May 2020 05:39:28 +0000"  >&lt;p&gt;Oleg Drokin (green@whamcloud.com) merged in patch &lt;a href=&quot;https://review.whamcloud.com/38426/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/38426/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-13490&quot; title=&quot;readahead thread breaks read stats in jobstats&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-13490&quot;&gt;&lt;del&gt;LU-13490&lt;/del&gt;&lt;/a&gt; lustre: fix to make jobstats work for async ra&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: da8972322134ae5741e7176312fca1f980c0f69a&lt;/p&gt;</comment>
                            <comment id="270200" author="pjones" created="Thu, 14 May 2020 14:50:43 +0000"  >&lt;p&gt;Landed for 2.14&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                                                <inwardlinks description="is related to">
                                                        </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|i00z27:</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="10021"><![CDATA[2]]></customfieldvalue>

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