<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 03:15:23 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-15092] Fix logic for unaligned transfer with o2iblnd</title>
                <link>https://jira.whamcloud.com/browse/LU-15092</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;It&apos;s possible for there to be an offset for the first page of a&lt;br/&gt;
transfer. However, there are two bugs with this code in o2iblnd.&lt;/p&gt;

&lt;p&gt;The first is that this use-case will require LNET_MAX_IOV + 1 local&lt;br/&gt;
RDMA fragments, but we do not specify the correct corresponding values&lt;br/&gt;
for the max page list to ib_alloc_fast_reg_page_list(),&lt;br/&gt;
ib_alloc_fast_reg_mr(), etc.&lt;/p&gt;

&lt;p&gt;The second issue is that the logic in kiblnd_setup_rd_iov() and&lt;br/&gt;
kiblnd_setup_rd_kiov() attempts to obtain one more scatterlist entry&lt;br/&gt;
than is actually needed. This causes the transfer to fail with -EFAULT.&lt;/p&gt;</description>
                <environment></environment>
        <key id="66606">LU-15092</key>
            <summary>Fix logic for unaligned transfer with o2iblnd</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="hornc">Chris Horn</assignee>
                                    <reporter username="hornc">Chris Horn</reporter>
                        <labels>
                    </labels>
                <created>Tue, 12 Oct 2021 20:43:15 +0000</created>
                <updated>Mon, 23 Jan 2023 16:54:13 +0000</updated>
                            <resolved>Sat, 20 Nov 2021 14:46:38 +0000</resolved>
                                                    <fixVersion>Lustre 2.15.0</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>7</watches>
                                                                            <comments>
                            <comment id="315339" author="gerrit" created="Tue, 12 Oct 2021 21:05:51 +0000"  >&lt;p&gt;&quot;Chris Horn &amp;lt;chris.horn@hpe.com&amp;gt;&quot; uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/45216&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/45216&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-15092&quot; title=&quot;Fix logic for unaligned transfer with o2iblnd&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-15092&quot;&gt;&lt;del&gt;LU-15092&lt;/del&gt;&lt;/a&gt; o2iblnd: Fix logic for unaligned transfer&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 40786a123e9d6f6142934c1135ad32015b36368b&lt;/p&gt;</comment>
                            <comment id="318739" author="gerrit" created="Sat, 20 Nov 2021 06:26:09 +0000"  >&lt;p&gt;&quot;Oleg Drokin &amp;lt;green@whamcloud.com&amp;gt;&quot; merged in patch &lt;a href=&quot;https://review.whamcloud.com/45216/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/45216/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-15092&quot; title=&quot;Fix logic for unaligned transfer with o2iblnd&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-15092&quot;&gt;&lt;del&gt;LU-15092&lt;/del&gt;&lt;/a&gt; o2iblnd: Fix logic for unaligned transfer&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: 23a2c92f203ff2f39bcc083e6b6220968c17b475&lt;/p&gt;</comment>
                            <comment id="318779" author="pjones" created="Sat, 20 Nov 2021 14:46:38 +0000"  >&lt;p&gt;Landed for 2.15&lt;/p&gt;</comment>
                            <comment id="325214" author="adilger" created="Fri, 4 Feb 2022 01:05:42 +0000"  >&lt;p&gt;Chris, Sereguei,&lt;br/&gt;
we were having a discussion related to &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; (improving buffered read/write efficiency) about whether it is possible to have LNet do RDMA from &quot;very&quot; unaligned buffers on the client (i.e. page-relative memory offset does not match file-relative offset) into page+block-aligned buffers on the server?&lt;/p&gt;

&lt;p&gt;For example, if an application allocates a 1MB buffer in userspace today with glibc &lt;tt&gt;malloc()&lt;/tt&gt;, it is only guaranteed to be aligned on the word size (i.e. 8 bytes).  If the client tries to write this unaligned 1MB buffer to a 1MB file-aligned offset, the kernel has to copy all of the data into aligned kernel page cache and then send those page cache pages to LNet for RDMA.&lt;/p&gt;

&lt;p&gt;It would be ideal for large read/write operations if the client LNet could RDMA the unaligned userspace buffer directly into aligned server pages with &lt;tt&gt;O_DIRECT&lt;/tt&gt;, but I don&apos;t know if this is a capability that LNet and/or IB/RoCE have, or they require the source/target page alignment to be the same?  If this isn&apos;t possible, that is totally fine, and we are looking into other solutions to improve performance here, but when I saw this patch recently I just wanted to make sure that there isn&apos;t some easy &quot;of course the data does not need to be page aligned&quot; solution that we are missing.&lt;/p&gt;</comment>
                            <comment id="325235" author="paf0186" created="Fri, 4 Feb 2022 02:59:17 +0000"  >&lt;p&gt;I actually asked the same question - not stated as clearly - on &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-13805&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;https://jira.whamcloud.com/browse/LU-13805&lt;/a&gt;&#160;&lt;/p&gt;</comment>
                            <comment id="325238" author="paf0186" created="Fri, 4 Feb 2022 03:24:48 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.whamcloud.com/secure/ViewProfile.jspa?name=ashehata&quot; class=&quot;user-hover&quot; rel=&quot;ashehata&quot;&gt;ashehata&lt;/a&gt; , just FYI, Andreas&apos; most recent comment is a much clearer statement of my question.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                            <outwardlinks description="is related to ">
                                        <issuelink>
            <issuekey id="60017">LU-13802</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <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|i0270v:</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>