Uploaded image for project: 'Lustre'
  1. Lustre
  2. LU-6163

64-bit divides should use do_div()

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Minor
    • Lustre 2.9.0
    • Lustre 2.7.0
    • 3
    • 17252

    Description

      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:

      wget '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'
      wget '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'
      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 '*.ko' -exec eu-unstrip {} usr/lib/debug/{}.debug \;
      find /tmp/i686/usr -name '*.ko.debug' -exec objdump -dlr {} \; | grep -B30
      

      Here is the slightly edited output:

      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 <kiblnd_create_conn+0x87d>
                              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 <lnet_delay_rule_match_locked+0x2bb>
                              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 <lnet_drop_rule_match+0x25c>
                              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 <lfsck_is_valid_slave_name_entry+0x199>
                              5e649: R_386_PC32       __umoddi3
      

      Attachments

        Issue Links

          Activity

            People

              ashehata Amir Shehata (Inactive)
              jhammond John Hammond
              Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: