1. 14 Oct, 2009 1 commit
    • Steven Rostedt's avatar
      function-graph/x86: Replace unbalanced ret with jmp · 194ec341
      Steven Rostedt authored
      The function graph tracer replaces the return address with a hook
      to trace the exit of the function call. This hook will finish by
      returning to the real location the function should return to.
      
      But the current implementation uses a ret to jump to the real
      return location. This causes a imbalance between calls and ret.
      That is the original function does a call, the ret goes to the
      handler and then the handler does a ret without a matching call.
      
      Although the function graph tracer itself still breaks the branch
      predictor by replacing the original ret, by using a second ret and
      causing an imbalance, it breaks the predictor even more.
      
      This patch replaces the ret with a jmp to keep the calls and ret
      balanced. I tested this on one box and it showed a 1.7% increase in
      performance. Another box only showed a small 0.3% increase. But no
      box that I tested this on showed a decrease in performance by
      making this change.
      Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
      Acked-by: default avatarMathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      LKML-Reference: <20091013203425.042034383@goodmis.org>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      194ec341
  2. 13 Oct, 2009 5 commits
  3. 12 Oct, 2009 3 commits
  4. 09 Oct, 2009 1 commit
  5. 08 Oct, 2009 2 commits
  6. 07 Oct, 2009 3 commits
  7. 06 Oct, 2009 1 commit
  8. 05 Oct, 2009 2 commits
  9. 04 Oct, 2009 8 commits
  10. 03 Oct, 2009 6 commits
  11. 02 Oct, 2009 8 commits
    • Linus Torvalds's avatar
      Merge master.kernel.org:/home/rmk/linux-2.6-arm · a037a79d
      Linus Torvalds authored
      * master.kernel.org:/home/rmk/linux-2.6-arm: (25 commits)
        ARM: 5728/1: Proper prefetch abort handling on ARMv6 and ARMv7
        ARM: 5727/1: Pass IFSR register to do_PrefetchAbort()
        ARM: 5740/1: fix valid_phys_addr_range() range check
        ARM: 5739/1: ARM: allow empty ATAG_CORE
        ARM: 5735/1: sa1111: CodingStyle cleanups
        ARM: 5738/1: Correct TCM documentation
        ARM: 5734/1: arm: fix compilation of entry-common.S for older CPUs
        ARM: 5733/1: fix bcmring compile error
        ARM: 5732/1: remove redundant include file
        ARM: 5731/2: Fix U300 generic GPIO, remove ifdefs from MMCI v3
        ARM: Ensure do_cache_op takes mmap_sem
        ARM: Fix __cpuexit section mismatch warnings
        ARM: Don't allow highmem on SMP platforms without h/w TLB ops broadcast
        ARM: includecheck fix: mach-davinci, board-dm365-evm.c
        ARM: Remove unused CONFIG SA1100_H3XXX
        ARM: Fix warning: unused variable 'highmem'
        ARM: Fix warning: #warning syscall migrate_pages not implemented
        ARM: Fix SA11x0 clocksource warning
        ARM: Fix SA1100 Neponset serial section mismatch
        ARM: Fix SA1100 Assabet/Neponset PCMCIA section mismatch warnings
        ...
      a037a79d
    • Kirill A. Shutemov's avatar
      ARM: 5728/1: Proper prefetch abort handling on ARMv6 and ARMv7 · d25ef8b8
      Kirill A. Shutemov authored
      Currently, on ARMv6 and ARMv7, if an application tries to execute
      code (or garbage) on non-executable page it hangs. It caused by
      incorrect prefetch abort handling. Now every prefetch abort
      processes as a translation fault.
      
      To fix this we have to analyze instruction fault status register
      to figure out reason why we've got the abort and process it
      accordingly.
      
      To make IFSR different from DFSR we set bit 31 which is reserved in
      both IFSR and DFSR.
      
      This patch also tries to protect from future hangs on unexpected
      exceptions. An application will be killed if unexpected exception
      type was received.
      Signed-off-by: default avatarKirill A. Shutemov <kirill@shutemov.name>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      d25ef8b8
    • Kirill A. Shutemov's avatar
      ARM: 5727/1: Pass IFSR register to do_PrefetchAbort() · 4fb28474
      Kirill A. Shutemov authored
      Instruction fault status register, IFSR, was introduced on ARMv6 to
      provide status information about the last insturction fault. It
      needed for proper prefetch abort handling.
      
      Now we have three prefetch abort model:
      
        * legacy - for CPUs before ARMv6. They doesn't provide neither
          IFSR nor IFAR. We simulate IFSR with section translation fault
          status for them to generalize code;
        * ARMv6 - provides IFSR, but not IFAR;
        * ARMv7 - provides both IFSR and IFAR.
      Signed-off-by: default avatarKirill A. Shutemov <kirill@shutemov.name>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      4fb28474
    • Greg Ungerer's avatar
      ARM: 5740/1: fix valid_phys_addr_range() range check · 6806bfe1
      Greg Ungerer authored
      Commit 1522ac3e
      ("Fix virtual to physical translation macro corner cases")
      breaks the end of memory check in valid_phys_addr_range().
      The modified expression results in the apparent /dev/mem size
      being 2 bytes smaller than what it actually is.
      
      This patch reworks the expression to correctly check the address,
      while maintaining use of a valid address to __pa().
      Signed-off-by: default avatarGreg Ungerer <gerg@uclinux.org>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      6806bfe1
    • David Brown's avatar
      ARM: 5739/1: ARM: allow empty ATAG_CORE · 31abdb74
      David Brown authored
      From: David Brown <davidb@quicinc.com>
      
      The ATAG_CORE is allowed to be empty.  Although this is handled
      by parse_tag_core(), __vet_atags during startup rejects this tag
      unless it contains data.  Allow the initial tag to be either the
      full size, or empty.
      Signed-off-by: default avatarDavid Brown <davidb@quicinc.com>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      31abdb74
    • Hartley Sweeten's avatar
      ARM: 5735/1: sa1111: CodingStyle cleanups · 0a4bc5e8
      Hartley Sweeten authored
      EXPORT_* macros should follow immediately after the closing function
      brace line.
      Signed-off-by: default avatarH Hartley Sweeten <hsweeten@visionengravers.com>
      Acked-by: default avatarKristoffer Ericson <kristoffer.ericson@gmail.com>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      0a4bc5e8
    • Russell King's avatar
      534d0c92
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 · 90d5ffc7
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (46 commits)
        cnic: Fix NETDEV_UP event processing.
        uvesafb/connector: Disallow unpliviged users to send netlink packets
        pohmelfs/connector: Disallow unpliviged users to configure pohmelfs
        dst/connector: Disallow unpliviged users to configure dst
        dm/connector: Only process connector packages from privileged processes
        connector: Removed the destruct_data callback since it is always kfree_skb()
        connector/dm: Fixed a compilation warning
        connector: Provide the sender's credentials to the callback
        connector: Keep the skb in cn_callback_data
        e1000e/igb/ixgbe: Don't report an error if devices don't support AER
        net: Fix wrong sizeof
        net: splice() from tcp to pipe should take into account O_NONBLOCK
        net: Use sk_mark for routing lookup in more places
        sky2: irqname based on pci address
        skge: use unique IRQ name
        IPv4 TCP fails to send window scale option when window scale is zero
        net/ipv4/tcp.c: fix min() type mismatch warning
        Kconfig: STRIP: Remove stale bits of STRIP help text
        NET: mkiss: Fix typo
        tg3: Remove prev_vlan_tag from struct tx_ring_info
        ...
      90d5ffc7