1. 14 10月, 2009 1 次提交
    • S
      function-graph/x86: Replace unbalanced ret with jmp · 194ec341
      Steven Rostedt 提交于
      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: NSteven Rostedt <rostedt@goodmis.org>
      Acked-by: NMathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      LKML-Reference: <20091013203425.042034383@goodmis.org>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      194ec341
  2. 13 10月, 2009 6 次提交
  3. 12 10月, 2009 2 次提交
  4. 09 10月, 2009 1 次提交
  5. 08 10月, 2009 5 次提交
  6. 06 10月, 2009 1 次提交
  7. 05 10月, 2009 2 次提交
  8. 04 10月, 2009 12 次提交
  9. 03 10月, 2009 10 次提交
    • E
      [PATCH] ext4: retry failed direct IO allocations · fbbf6945
      Eric Sandeen 提交于
      On a 256M filesystem, doing this in a loop:
      
              xfs_io -F -f -d -c 'pwrite 0 64m' test
              rm -f test
      
      eventually leads to ENOSPC.  (the xfs_io command does a
      64m direct IO write to the file "test")
      
      As with other block allocation callers, it looks like we need to
      potentially retry the allocations on the initial ENOSPC.
      Signed-off-by: NEric Sandeen <sandeen@redhat.com>
      Signed-off-by: N"Theodore Ts'o" <tytso@mit.edu>
      fbbf6945
    • C
      ext4: Fix build warning in ext4_dirty_inode() · 74072d0a
      Curt Wohlgemuth 提交于
      This fixes the following warning:
      
      fs/ext4/inode.c: In function 'ext4_dirty_inode':
      fs/ext4/inode.c:5615: warning: unused variable 'current_handle'
      
      We remove the jbd_debug() statement which does use current_handle, as
      it's not terribly important in the grand scheme of things.
      
      Thanks to Stephen Rothwell for pointing this out.
      Signed-off-by: NCurt Wohlgemuth <curtw@google.com>
      Signed-off-by: N"Theodore Ts'o" <tytso@mit.edu>
      74072d0a
    • L
      Merge master.kernel.org:/home/rmk/linux-2.6-arm · a037a79d
      Linus Torvalds 提交于
      * 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
    • K
      ARM: 5728/1: Proper prefetch abort handling on ARMv6 and ARMv7 · d25ef8b8
      Kirill A. Shutemov 提交于
      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: NKirill A. Shutemov <kirill@shutemov.name>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      d25ef8b8
    • K
      ARM: 5727/1: Pass IFSR register to do_PrefetchAbort() · 4fb28474
      Kirill A. Shutemov 提交于
      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: NKirill A. Shutemov <kirill@shutemov.name>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      4fb28474
    • G
      ARM: 5740/1: fix valid_phys_addr_range() range check · 6806bfe1
      Greg Ungerer 提交于
      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: NGreg Ungerer <gerg@uclinux.org>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      6806bfe1
    • D
      ARM: 5739/1: ARM: allow empty ATAG_CORE · 31abdb74
      David Brown 提交于
      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: NDavid Brown <davidb@quicinc.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      31abdb74
    • H
      ARM: 5735/1: sa1111: CodingStyle cleanups · 0a4bc5e8
      Hartley Sweeten 提交于
      EXPORT_* macros should follow immediately after the closing function
      brace line.
      Signed-off-by: NH Hartley Sweeten <hsweeten@visionengravers.com>
      Acked-by: NKristoffer Ericson <kristoffer.ericson@gmail.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      0a4bc5e8
    • R
      Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/xscaleiop · 534d0c92
      Russell King 提交于
      Conflicts:
      	MAINTAINERS
      534d0c92
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 · 90d5ffc7
      Linus Torvalds 提交于
      * 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