<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 01:57:49 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-6163] 64-bit divides should use do_div()</title>
                <link>https://jira.whamcloud.com/browse/LU-6163</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;  Andrew Uselton has pointer out that the i686 built modules are unusable on his 32-bit hardware due to undefined references to __umoddi3. Divides that  that emit these calls should be rewritten to use do_div() or one of its friends. I grabbed the latest i686 RPMs and checked for these calls as follows:&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;wget &apos;https://build.hpdd.intel.com/job/lustre`master/arch=i686,build_type=server,distro=el6,ib_stack=inkernel/lastSuccessfulBuild/artifact/artifacts/RPMS/i686/lustre-modules-2.6.93-2.6.32_431.29.2.el6_lustre.g52480e5.i686_g52480e5.i686.rpm&apos;
wget &apos;https://build.hpdd.intel.com/job/lustre-master/arch=i686,build_type=server,distro=el6,ib_stack=inkernel/lastSuccessfulBuild/artifact/artifacts/RPMS/i686/lustre-debuginfo-2.6.93-2.6.32_431.29.2.el6_lustre.g52480e5.i686_g52480e5.i686.rpm&apos;
rpm2cpio lustre-modules-2.6.93-2.6.32_431.29.2.el6_lustre.g52480e5.i686_g52480e5.i686.rpm | cpio -itv
rpm2cpio lustre-modules-2.6.93-2.6.32_431.29.2.el6_lustre.g52480e5.i686_g52480e5.i686.rpm | cpio -idv
find lib -name &apos;*.ko&apos; -exec eu-unstrip {} usr/lib/debug/{}.debug \;
find /tmp/i686/usr -name &apos;*.ko.debug&apos; -exec objdump -dlr {} \; | grep -B30
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Here is the slightly edited output:&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;kiblnd_get_completion_vector():
/usr/src/debug/lustre-2.6.93/lnet/klnds/o2iblnd/o2iblnd.c:696
   11bac:       89 c2                   mov    %eax,%edx
   11bae:       c1 fa 1f                sar    $0x1f,%edx
   11bb1:       89 04 24                mov    %eax,(%esp)
   11bb4:       89 f0                   mov    %esi,%eax
   11bb6:       89 54 24 04             mov    %edx,0x4(%esp)
   11bba:       89 fa                   mov    %edi,%edx
   11bbc:       e8 fc ff ff ff          call   11bbd &amp;lt;kiblnd_create_conn+0x87d&amp;gt;
                        11bbd: R_386_PC32       __umoddi3


delay_rule_match():
/usr/src/debug/lustre-2.6.93/lnet/lnet/net_fault.c:507
   3215d:       89 04 24                mov    %eax,(%esp)
   32160:       89 d8                   mov    %ebx,%eax
   32162:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
   32169:       00
   3216a:       e8 fc ff ff ff          call   3216b &amp;lt;lnet_delay_rule_match_locked+0x2bb&amp;gt;
                        3216b: R_386_PC32       __umoddi3

drop_rule_match():
/usr/src/debug/lustre-2.6.93/lnet/lnet/net_fault.c:337
/usr/src/debug/lustre-2.6.93/lnet/lnet/net_fault.c:339
   33bd0:       89 0c 24                mov    %ecx,(%esp)
   33bd3:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
   33bda:       00
   33bdb:       e8 fc ff ff ff          call   33bdc &amp;lt;lnet_drop_rule_match+0x25c&amp;gt;
                        33bdc: R_386_PC32       __umoddi3


lmv_hash_fnv1a():
/usr/src/debug/lustre-2.6.93/lustre/include/lustre_lmv.h:167
   5e62e:       8b 75 f0                mov    -0x10(%ebp),%esi
   5e631:       8b 45 dc                mov    -0x24(%ebp),%eax
   5e634:       8b 55 e0                mov    -0x20(%ebp),%edx
   5e637:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
   5e63e:       00
   5e63f:       8b 5d e8                mov    -0x18(%ebp),%ebx
   5e642:       89 34 24                mov    %esi,(%esp)
   5e645:       89 4d e4                mov    %ecx,-0x1c(%ebp)
   5e648:       e8 fc ff ff ff          call   5e649 &amp;lt;lfsck_is_valid_slave_name_entry+0x199&amp;gt;
                        5e649: R_386_PC32       __umoddi3
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
        <key id="28414">LU-6163</key>
            <summary>64-bit divides should use do_div()</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="ashehata">Amir Shehata</assignee>
                                    <reporter username="jhammond">John Hammond</reporter>
                        <labels>
                            <label>build</label>
                            <label>easy</label>
                    </labels>
                <created>Tue, 27 Jan 2015 21:53:12 +0000</created>
                <updated>Tue, 15 Nov 2016 18:16:09 +0000</updated>
                            <resolved>Mon, 11 Apr 2016 13:42:40 +0000</resolved>
                                    <version>Lustre 2.7.0</version>
                                    <fixVersion>Lustre 2.9.0</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>7</watches>
                                                                            <comments>
                            <comment id="126284" author="bogl" created="Thu, 3 Sep 2015 20:24:04 +0000"  >&lt;p&gt;This patch allowed me to do a 32 bit build of lustre with modules that don&apos;t report undefined symbols at load time.  I&apos;m pushing it here as an attachment to provide a possible starting point for a real fix and as a basis for discussion.  Don&apos;t have enough confidence in it to submit as a proposed fix yet.&lt;/p&gt;</comment>
                            <comment id="144783" author="simmonsja" created="Mon, 7 Mar 2016 18:28:54 +0000"  >&lt;p&gt;Bob I just ran into this issue with the upstream client. The ko2iblnd version has been fixed already upstream. Its time to push this to master.&lt;/p&gt;

&lt;p&gt;Looking at the patch cfs_rand() it returns a 32 bit integer so we don&apos;t need to do a do_div(). &lt;/p&gt;</comment>
                            <comment id="144876" author="gerrit" created="Tue, 8 Mar 2016 15:38:24 +0000"  >&lt;p&gt;James Simmons (uja.ornl@yahoo.com) uploaded a new patch: &lt;a href=&quot;http://review.whamcloud.com/18819&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/18819&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-6163&quot; title=&quot;64-bit divides should use do_div()&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-6163&quot;&gt;&lt;del&gt;LU-6163&lt;/del&gt;&lt;/a&gt; kernel: used do_div64() for 64 bit divides&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: b5c7321f04d22228bb3d46125cd82c0ef115267c&lt;/p&gt;</comment>
                            <comment id="144877" author="simmonsja" created="Tue, 8 Mar 2016 15:40:51 +0000"  >&lt;p&gt;I don&apos;t have 32 bit hardware so let me know if this fixes the issues on i386 platforms.&lt;/p&gt;</comment>
                            <comment id="147944" author="gerrit" created="Wed, 6 Apr 2016 01:40:16 +0000"  >&lt;p&gt;Oleg Drokin (oleg.drokin@intel.com) merged in patch &lt;a href=&quot;http://review.whamcloud.com/18819/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/18819/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-6163&quot; title=&quot;64-bit divides should use do_div()&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-6163&quot;&gt;&lt;del&gt;LU-6163&lt;/del&gt;&lt;/a&gt; kernel: use do_div64() for 64 bit divides&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: e5ef85126953f866e155bb4f55cd85da963bde52&lt;/p&gt;</comment>
                            <comment id="148376" author="jgmitter" created="Mon, 11 Apr 2016 13:42:40 +0000"  >&lt;p&gt;Landed to master for 2.9.0&lt;/p&gt;</comment>
                            <comment id="148411" author="simmonsja" created="Mon, 11 Apr 2016 15:52:15 +0000"  >&lt;p&gt;Bob and Andrew can you confirm this fixed lustre for 32 bit platforms?&lt;/p&gt;</comment>
                            <comment id="148466" author="uselton" created="Mon, 11 Apr 2016 19:08:26 +0000"  >&lt;p&gt;I actually recycled all that old 32-bit hardware before moving to Austin. I&apos;d be happy to try it, but don&apos;t have a platform for it any more...Bob?&lt;br/&gt;
Andrew thinks, &quot;dodged that bullet&quot; &lt;img class=&quot;emoticon&quot; src=&quot;https://jira.whamcloud.com/images/icons/emoticons/smile.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/p&gt;</comment>
                            <comment id="148467" author="bogl" created="Mon, 11 Apr 2016 19:15:16 +0000"  >&lt;p&gt;can&apos;t promise to test on 32 bits anytime soon.  while I have a large set of 64 bit build and test environments at my fingertips I have no 32 bit ones atm.  32 bit is very low priority.  While it&apos;s possible to set up 32 bit VMs for build and test purposes it&apos;s not something I do routinely.&lt;/p&gt;</comment>
                            <comment id="148475" author="simmonsja" created="Mon, 11 Apr 2016 19:37:05 +0000"  >&lt;p&gt;Rasberry PI anyone?&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10010">
                    <name>Duplicate</name>
                                                                <inwardlinks description="is duplicated by">
                                        <issuelink>
            <issuekey id="41573">LU-8835</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                            <outwardlinks description="is related to ">
                                        <issuelink>
            <issuekey id="28443">LU-6174</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                            <attachment id="18863" name="do_div.patch" size="8095" author="bogl" created="Thu, 3 Sep 2015 20:24:03 +0000"/>
                    </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|hzx50v:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10090" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>17252</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>