<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 03:18:59 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-15516] Simplify mmap readahead logic &amp; remove clustered reads</title>
                <link>https://jira.whamcloud.com/browse/LU-15516</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;The addition of clustered reads created a huge amount of mmap specific readahead logic, most of which doesn&apos;t work well.&#160; mmap readahead should not be a separate consideration from regular readahead logic.&lt;/p&gt;

&lt;p&gt;The clustered readahead code is particularly problematic:&lt;/p&gt;

&lt;p&gt;Here&apos;s what the clustered code &lt;b&gt;actually&lt;/b&gt; does.&lt;/p&gt;

&lt;p&gt;It does &apos;blobs&apos; of reading &lt;b&gt;around&lt;/b&gt; the point of a read.&lt;br/&gt;
Ideally, we&apos;d do this when we couldn&apos;t detect a pattern, but the clustered reads code just &lt;b&gt;does&lt;/b&gt; this, effectively disabling normal readahead for mmap.&lt;/p&gt;

&lt;p&gt;This means if there isn&apos;t any pattern, it can speed things up a lot&lt;/p&gt;

&lt;p&gt;But if there&apos;s any pattern, this is worse than following it.&#160; And there is almost always a pattern.&lt;/p&gt;

&lt;p&gt;It&apos;s based on a weird idea about &apos;clustered reads&apos;, but there&apos;s zero reason to think those exist - databases don&apos;t work like that and there&apos;s no justification offered.&lt;br/&gt;
Databases do sequential forward, sequential back, semi-random forward, semi-random back, and full random. &#160;There&apos;s no clustered behavior as described, ie, &apos;read randomly in an area for a bit then move to another area&apos;.&lt;/p&gt;

&lt;p&gt;It makes sense, when we can&apos;t detect a pattern, to consider this &apos;just read some pages&apos; approach, since reading a few more pages is a great idea in most cases.&lt;/p&gt;

&lt;p&gt;But this is a separate thing and a very poor excuse for &lt;b&gt;breaking mmap reads&lt;/b&gt; so badly.&lt;/p&gt;

&lt;p&gt;It also shouldn&apos;t be separate logic - if this makes sense for mmap, it makes sense for regular reads.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://jira.whamcloud.com/browse/LU-14917&quot; title=&quot;allow switching mmap readahead logic&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-14917&quot;&gt;LU-14917&lt;/a&gt; tries to hack around this by creating an even more complicated logic path to keep this clustered reads.&#160; We&apos;re better off removing them and considering adding them back in a future patch, when they can be used for both regular and mmap reads.&lt;/p&gt;

&lt;p&gt;This LU will do that, and will also standardize/unify the readahead invocations for mmap reads and regular reads.&lt;/p&gt;</description>
                <environment></environment>
        <key id="68482">LU-15516</key>
            <summary>Simplify mmap readahead logic &amp; remove clustered reads</summary>
                <type id="4" iconUrl="https://jira.whamcloud.com/secure/viewavatar?size=xsmall&amp;avatarId=11310&amp;avatarType=issuetype">Improvement</type>
                                            <priority id="4" iconUrl="https://jira.whamcloud.com/images/icons/priorities/minor.svg">Minor</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="paf0186">Patrick Farrell</assignee>
                                    <reporter username="paf0186">Patrick Farrell</reporter>
                        <labels>
                    </labels>
                <created>Thu, 3 Feb 2022 18:39:54 +0000</created>
                <updated>Fri, 4 Feb 2022 02:53:02 +0000</updated>
                                                                                <due></due>
                            <votes>0</votes>
                                    <watches>2</watches>
                                                                            <comments>
                            <comment id="325231" author="gerrit" created="Fri, 4 Feb 2022 02:53:01 +0000"  >&lt;p&gt;&quot;Patrick Farrell &amp;lt;pfarrell@whamcloud.com&amp;gt;&quot; uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/46457&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/46457&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-15516&quot; title=&quot;Simplify mmap readahead logic &amp;amp; remove clustered reads&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-15516&quot;&gt;LU-15516&lt;/a&gt; llite: Remove clustered read code&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 88f970ab2e192d1190391609110b0d84f297b86e&lt;/p&gt;</comment>
                            <comment id="325232" author="gerrit" created="Fri, 4 Feb 2022 02:53:02 +0000"  >&lt;p&gt;&quot;Patrick Farrell &amp;lt;pfarrell@whamcloud.com&amp;gt;&quot; uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/46458&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/46458&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-15516&quot; title=&quot;Simplify mmap readahead logic &amp;amp; remove clustered reads&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-15516&quot;&gt;LU-15516&lt;/a&gt; llite: unify readahead logic&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 0f6931ba354df61971c18ffeeca165de92869206&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|i02h7r:</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>