<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 03:31:27 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-16964] I/O Path: Auto switch from BIO to DIO</title>
                <link>https://jira.whamcloud.com/browse/LU-16964</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;We design a hybrid I/O path engine to perform buffered I/O as direct I/O. It can switch from the default buffered I/O to direct I/O path and allow the buffered I/O which meets the requirements and conditions to perform I/O in direct mode appropirately.&lt;/p&gt;

&lt;p&gt;It is completely implemented inside the file system, and there is no need any changes for applications. In the user space the application does simple read() or write() calls. The filesystem decides internally to do buffered I/O via page cache, or switch to unligned (or aligned if possible) direct I/O accordingly. &lt;/p&gt;

&lt;p&gt;i.e. to obtain better performance, the client can use buffered I/O for samll I/O size and direct I/O for large I/O size. For the sequential write, it can perform buffer I/O when the file is in small size at the beginning, and switch to high efficient direct I/O when the file is gradually growing large or the system memory is under pressure.&lt;/p&gt;

&lt;p&gt;Switching to use direct I/O may provide some performance benefits in the following cases:&lt;/p&gt;

&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;There is no access locality;&lt;/li&gt;
&lt;/ul&gt;


&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;The system is under memory pressure or high CPU usage;&lt;/li&gt;
&lt;/ul&gt;


&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;A file is shared access under high contention from many clients;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;This ticket tracks this feature to automatically switch from BIO to DIO path.&lt;/p&gt;</description>
                <environment></environment>
        <key id="76999">LU-16964</key>
            <summary>I/O Path: Auto switch from BIO to DIO</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="6" iconUrl="https://jira.whamcloud.com/images/icons/statuses/closed.png" description="The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.">Closed</status>
                    <statusCategory id="3" key="done" colorName="success"/>
                                    <resolution id="3">Duplicate</resolution>
                                        <assignee username="qian_wc">Qian Yingjin</assignee>
                                    <reporter username="qian_wc">Qian Yingjin</reporter>
                        <labels>
                    </labels>
                <created>Fri, 14 Jul 2023 10:30:29 +0000</created>
                <updated>Thu, 3 Aug 2023 17:07:10 +0000</updated>
                            <resolved>Thu, 3 Aug 2023 17:07:10 +0000</resolved>
                                                                        <due></due>
                            <votes>0</votes>
                                    <watches>6</watches>
                                                                            <comments>
                            <comment id="378707" author="gerrit" created="Fri, 14 Jul 2023 13:32:18 +0000"  >&lt;p&gt;&quot;Qian Yingjin &amp;lt;qian@ddn.com&amp;gt;&quot; uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/c/fs/lustre-release/+/51679&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/c/fs/lustre-release/+/51679&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-16964&quot; title=&quot;I/O Path: Auto switch from BIO to DIO&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-16964&quot;&gt;&lt;del&gt;LU-16964&lt;/del&gt;&lt;/a&gt; llite: auto switch from BIO to DIO&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: e3e07e129ca55585af5831fd25cc07fa96d5394d&lt;/p&gt;</comment>
                            <comment id="378747" author="adilger" created="Fri, 14 Jul 2023 16:35:42 +0000"  >&lt;p&gt;This seems a lot like &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-13802&quot; title=&quot;New i/o path: Buffered i/o as DIO&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-13802&quot;&gt;LU-13802&lt;/a&gt;.  Why duplicate the ticket and patch instead of starting with that patch?&lt;/p&gt;</comment>
                            <comment id="378749" author="adilger" created="Fri, 14 Jul 2023 16:40:40 +0000"  >&lt;p&gt;Yingjin, how does this handle unaligned input pages from userspace?  That was the problem that Patrick hit in &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-13802&quot; title=&quot;New i/o path: Buffered i/o as DIO&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-13802&quot;&gt;LU-13802&lt;/a&gt;, which is why he is working on the DIO bounce buffer patch &lt;a href=&quot;https://review.whamcloud.com/45616&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/45616&lt;/a&gt; &quot;&lt;tt&gt;&lt;a href=&quot;https://jira.whamcloud.com/browse/LU-13805&quot; title=&quot;i/o path: Unaligned direct i/o&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-13805&quot;&gt;LU-13805&lt;/a&gt; clio: bounce buffer for unaligned DIO&lt;/tt&gt;&quot;. &lt;/p&gt;

&lt;p&gt;It would be good to discuss such CLIO changes with Patrick in advance rather than jumping in and developing a large patch that is conflicting with the work that Patrick is already doing. I&apos;m happy to see improvements to IO performance, but we don&apos;t have enough developers to have two of them duplicating their efforts. &lt;/p&gt;</comment>
                            <comment id="378752" author="paf0186" created="Fri, 14 Jul 2023 17:04:11 +0000"  >&lt;p&gt;The patch here handles the unaligned case by skipping it, so it only does aligned stuff.&#160; That&apos;s not going to be very useful, but it can be a stepping stone.&#160; The LU is kind of a duplicate of &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-13802&quot; title=&quot;New i/o path: Buffered i/o as DIO&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-13802&quot;&gt;LU-13802&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Mostly I think this is not very useful until &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-13805&quot; title=&quot;i/o path: Unaligned direct i/o&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-13805&quot;&gt;LU-13805&lt;/a&gt; is done.&#160; But it&apos;s not terrible to get started on this part of things.&lt;/p&gt;

&lt;p&gt;What would be most helpful now is to review the patch series starting with:&lt;br/&gt;
&lt;a href=&quot;https://review.whamcloud.com/c/fs/lustre-release/+/45616&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/c/fs/lustre-release/+/45616&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Which still has a bunch of supporting patches that need to land before getting to the main patch(es).&#160; (There are still some bugs with the main patches as well, but we need to get all of the supporting patches in first anyway.)&lt;/p&gt;</comment>
                            <comment id="381240" author="paf0186" created="Thu, 3 Aug 2023 17:07:10 +0000"  >&lt;p&gt;This is a duplicate of &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-13802&quot; title=&quot;New i/o path: Buffered i/o as DIO&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-13802&quot;&gt;LU-13802&lt;/a&gt;, and exactly what was discussed in my LUG presentation in May 2023.&#160; It&apos;s a good writeup, so maybe we can copy this to that ticket, but this is not a new feature suggestion.&#160; The ability to do &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-13802&quot; title=&quot;New i/o path: Buffered i/o as DIO&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-13802&quot;&gt;LU-13802&lt;/a&gt; is why &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-13805&quot; title=&quot;i/o path: Unaligned direct i/o&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-13805&quot;&gt;LU-13805&lt;/a&gt; is being worked on, so let&apos;s put the work on those tickets.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10010">
                    <name>Duplicate</name>
                                            <outwardlinks description="duplicates">
                                        <issuelink>
            <issuekey id="60017">LU-13802</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                            <outwardlinks description="is related to ">
                                        <issuelink>
            <issuekey id="60032">LU-13805</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="56411">LU-12550</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </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|i03qiv:</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>