1. 30 Aug, 2012 1 commit
    • David S. Miller's avatar
      sparc64: Unroll ECB encryption loops in AES driver. · 03d168ad
      David S. Miller authored
      The AES opcodes have a 3 cycle latency, so by doing 32-bytes at a
      time we avoid a pipeline bubble in between every round.
      
      For the 256-bit key case, it looks like we're doing more work in
      order to reload the KEY registers during the loop to make space
      for scarce temporaries.  But the load dual issues with the AES
      operations so we get the KEY reloads essentially for free.
      
      Before:
      
      testing speed of ecb(aes) encryption
      test 0 (128 bit key, 16 byte blocks): 1 operation in 264 cycles (16 bytes)
      test 1 (128 bit key, 64 byte blocks): 1 operation in 231 cycles (64 bytes)
      test 2 (128 bit key, 256 byte blocks): 1 operation in 329 cycles (256 bytes)
      test 3 (128 bit key, 1024 byte blocks): 1 operation in 715 cycles (1024 bytes)
      test 4 (128 bit key, 8192 byte blocks): 1 operation in 4248 cycles (8192 bytes)
      test 5 (192 bit key, 16 byte blocks): 1 operation in 221 cycles (16 bytes)
      test 6 (192 bit key, 64 byte blocks): 1 operation in 234 cycles (64 bytes)
      test 7 (192 bit key, 256 byte blocks): 1 operation in 359 cycles (256 bytes)
      test 8 (192 bit key, 1024 byte blocks): 1 operation in 803 cycles (1024 bytes)
      test 9 (192 bit key, 8192 byte blocks): 1 operation in 5366 cycles (8192 bytes)
      test 10 (256 bit key, 16 byte blocks): 1 operation in 209 cycles (16 bytes)
      test 11 (256 bit key, 64 byte blocks): 1 operation in 255 cycles (64 bytes)
      test 12 (256 bit key, 256 byte blocks): 1 operation in 379 cycles (256 bytes)
      test 13 (256 bit key, 1024 byte blocks): 1 operation in 938 cycles (1024 bytes)
      test 14 (256 bit key, 8192 byte blocks): 1 operation in 6041 cycles (8192 bytes)
      
      After:
      
      testing speed of ecb(aes) encryption
      test 0 (128 bit key, 16 byte blocks): 1 operation in 266 cycles (16 bytes)
      test 1 (128 bit key, 64 byte blocks): 1 operation in 256 cycles (64 bytes)
      test 2 (128 bit key, 256 byte blocks): 1 operation in 305 cycles (256 bytes)
      test 3 (128 bit key, 1024 byte blocks): 1 operation in 676 cycles (1024 bytes)
      test 4 (128 bit key, 8192 byte blocks): 1 operation in 3981 cycles (8192 bytes)
      test 5 (192 bit key, 16 byte blocks): 1 operation in 210 cycles (16 bytes)
      test 6 (192 bit key, 64 byte blocks): 1 operation in 233 cycles (64 bytes)
      test 7 (192 bit key, 256 byte blocks): 1 operation in 340 cycles (256 bytes)
      test 8 (192 bit key, 1024 byte blocks): 1 operation in 766 cycles (1024 bytes)
      test 9 (192 bit key, 8192 byte blocks): 1 operation in 5136 cycles (8192 bytes)
      test 10 (256 bit key, 16 byte blocks): 1 operation in 206 cycles (16 bytes)
      test 11 (256 bit key, 64 byte blocks): 1 operation in 268 cycles (64 bytes)
      test 12 (256 bit key, 256 byte blocks): 1 operation in 368 cycles (256 bytes)
      test 13 (256 bit key, 1024 byte blocks): 1 operation in 890 cycles (1024 bytes)
      test 14 (256 bit key, 8192 byte blocks): 1 operation in 5718 cycles (8192 bytes)
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      03d168ad
  2. 29 Aug, 2012 4 commits
  3. 28 Aug, 2012 1 commit
  4. 26 Aug, 2012 1 commit
  5. 23 Aug, 2012 1 commit
  6. 22 Aug, 2012 1 commit
  7. 20 Aug, 2012 4 commits
  8. 19 Aug, 2012 17 commits
  9. 18 Aug, 2012 4 commits
    • Linus Torvalds's avatar
      Merge branch 'fixes' of git://git.linaro.org/people/rmk/linux-arm · 6dab7ede
      Linus Torvalds authored
      Pull ARM fixes from Russell King:
       "The largest thing in this set of changes is bringing back some of the
        ARMv3 code to fix a compile problem noticed on RiscPC, which we still
        support, even though we only support ARMv4 there.
      
        (The reason is that the system bus doesn't support ARMv4 half-word
        accesses, so we need the ARMv3 library code for this platform.)
      
        The rest are all quite minor fixes."
      
      * 'fixes' of git://git.linaro.org/people/rmk/linux-arm:
        ARM: 7490/1: Drop duplicate select for GENERIC_IRQ_PROBE
        ARM: Bring back ARMv3 IO and user access code
        ARM: 7489/1: errata: fix workaround for erratum #720789 on UP systems
        ARM: 7488/1: mm: use 5 bits for swapfile type encoding
        ARM: 7487/1: mm: avoid setting nG bit for user mappings that aren't present
        ARM: 7486/1: sched_clock: update epoch_cyc on resume
        ARM: 7484/1: Don't enable GENERIC_LOCKBREAK with ticket spinlocks
        ARM: 7483/1: vfp: only advertise VFPv4 in hwcaps if CONFIG_VFPv3 is enabled
        ARM: 7482/1: topology: fix section mismatch warning for init_cpu_topology
      6dab7ede
    • Linus Torvalds's avatar
      Merge tag 'pm-for-3.6-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · d9ec0fdc
      Linus Torvalds authored
      Pull power management fixes from Rafael J. Wysocki:
        - Fixes for three obscure problems in the runtime PM core code found
         recently.
       - Two fixes for the new "coupled" cpuidle code from Colin Cross and Jon
         Medhurst.
       - intel_idle driver fix from Konrad Rzeszutek Wilk.
      
      * tag 'pm-for-3.6-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        intel_idle: Check cpu_idle_get_driver() for NULL before dereferencing it.
        cpuidle: Prevent null pointer dereference in cpuidle_coupled_cpu_notify
        cpuidle: coupled: fix sleeping while atomic in cpu notifier
        PM / Runtime: Check device PM QoS setting before "no callbacks" check
        PM / Runtime: Clear power.deferred_resume on success in rpm_suspend()
        PM / Runtime: Fix rpm_resume() return value for power.no_callbacks set
      d9ec0fdc
    • Linus Torvalds's avatar
      Merge branch 'vfs-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs · 20fb1936
      Linus Torvalds authored
      Pull vfs fixes from Miklos Szeredi.
      
      This mainly fixes some confusion about whether the open 'mode' variable
      passed around should contain the full file type (S_IFREG etc)
      information or just the permission mode.  In particular, the lack of
      proper file type information had confused fuse.
      
      * 'vfs-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs:
        vfs: fix propagation of atomic_open create error on negative dentry
        fuse: check create mode in atomic open
        vfs: pass right create mode to may_o_create()
        vfs: atomic_open(): fix create mode usage
        vfs: canonicalize create mode in build_open_flags()
      20fb1936
    • Linus Torvalds's avatar
      Merge tag 'md-3.6-fixes' of git://neil.brown.name/md · 1ce41cd8
      Linus Torvalds authored
      Pull md fixes from NeilBrown:
       "2 fixes for md, tagged for -stable"
      
      * tag 'md-3.6-fixes' of git://neil.brown.name/md:
        md/raid10: fix problem with on-stack allocation of r10bio structure.
        md: Don't truncate size at 4TB for RAID0 and Linear
      1ce41cd8
  10. 17 Aug, 2012 6 commits