1. 08 5月, 2013 3 次提交
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse · a26ea93a
      Linus Torvalds 提交于
      Pull fuse updates from Miklos Szeredi:
       "This contains two patchsets from Maxim Patlasov.
      
        The first reworks the request throttling so that only async requests
        are throttled.  Wakeup of waiting async requests is also optimized.
      
        The second series adds support for async processing of direct IO which
        optimizes direct IO and enables the use of the AIO userspace
        interface."
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse:
        fuse: add flag to turn on async direct IO
        fuse: truncate file if async dio failed
        fuse: optimize short direct reads
        fuse: enable asynchronous processing direct IO
        fuse: make fuse_direct_io() aware about AIO
        fuse: add support of async IO
        fuse: move fuse_release_user_pages() up
        fuse: optimize wake_up
        fuse: implement exclusive wakeup for blocked_waitq
        fuse: skip blocking on allocations of synchronous requests
        fuse: add flag fc->initialized
        fuse: make request allocations for background processing explicit
      a26ea93a
    • L
      Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc · c818c778
      Linus Torvalds 提交于
      Pull powerpc updates from Benjamin Herrenschmidt:
       "Here are a few more powerpc bits that I would like in 3.10.
      
        Mostly remaining bolts & screw tightening of power8 support such as
        actually exposing the new features via the previously added AT_HWCAP2,
        and a few fixes, some of them for problems exposed recently like
        irqdomain warnings or sysfs access permission issues, some exposed by
        power8 hardware.
      
        The only change outside of arch/powerpc is a small one to irqdomain.c
        to allow silent failure to fix a problem on Cell where we get a dozen
        WARN_ON's tripping at boot for what is basically a normal case."
      
      * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:
        powerpc: Make hard_irq_disable() do the right thing vs. irq tracing
        powerpc/topology: Fix spurr attribute permission
        powerpc/pci: Support per-aperture memory offset
        powerpc/cell/iommu: Improve error message for missing node
        powerpc/cell/spufs: Fix status attribute permission
        irqdomain: Allow quiet failure mode
        powerpc/pnv: Fix "compatible" property for P8 PHB
        powerpc/pci: Don't add bogus empty resources to PHBs
        powerpc/powerpnv: Properly handle failure starting CPUs
        powerpc/cputable: Advertise support for ISEL/HTM/DSCR/TAR on POWER8
        powerpc/cputable: Advertise ISEL support on appropriate embedded processors
        powerpc/cputable: Advertise DSCR support on P7/P7+
        powerpc/cputable: Reserve bits in HWCAP2 for new features
        powerpc/pseries: Perform proper max_bus_speed detection
        powerpc/pseries: Force 32 bit MSIs for devices that require it
        powerpc/tm: Fix null pointer deference in flush_hash_page
        powerpc/powernv: Defer OPAL exception handler registration
        powerpc: Emulate non privileged DSCR read and write
      c818c778
    • L
      Merge branch 'rwsem-optimizations' · c8de2fa4
      Linus Torvalds 提交于
      Merge rwsem optimizations from Michel Lespinasse:
       "These patches extend Alex Shi's work (which added write lock stealing
        on the rwsem slow path) in order to provide rwsem write lock stealing
        on the fast path (that is, without taking the rwsem's wait_lock).
      
        I have unfortunately been unable to push this through -next before due
        to Ingo Molnar / David Howells / Peter Zijlstra being busy with other
        things.  However, this has gotten some attention from Rik van Riel and
        Davidlohr Bueso who both commented that they felt this was ready for
        v3.10, and Ingo Molnar has said that he was OK with me pushing
        directly to you.  So, here goes :)
      
        Davidlohr got the following test results from pgbench running on a
        quad-core laptop:
      
          | db_size | clients  |  tps-vanilla   |   tps-rwsem  |
          +---------+----------+----------------+--------------+
          | 160 MB   |       1 |           5803 |         6906 | + 19.0%
          | 160 MB   |       2 |          13092 |        15931 |
          | 160 MB   |       4 |          29412 |        33021 |
          | 160 MB   |       8 |          32448 |        34626 |
          | 160 MB   |      16 |          32758 |        33098 |
          | 160 MB   |      20 |          26940 |        31343 | + 16.3%
          | 160 MB   |      30 |          25147 |        28961 |
          | 160 MB   |      40 |          25484 |        26902 |
          | 160 MB   |      50 |          24528 |        25760 |
          ------------------------------------------------------
          | 1.6 GB   |       1 |           5733 |         7729 | + 34.8%
          | 1.6 GB   |       2 |           9411 |        19009 | + 101.9%
          | 1.6 GB   |       4 |          31818 |        33185 |
          | 1.6 GB   |       8 |          33700 |        34550 |
          | 1.6 GB   |      16 |          32751 |        33079 |
          | 1.6 GB   |      20 |          30919 |        31494 |
          | 1.6 GB   |      30 |          28540 |        28535 |
          | 1.6 GB   |      40 |          26380 |        27054 |
          | 1.6 GB   |      50 |          25241 |        25591 |
          ------------------------------------------------------
          | 7.6 GB   |       1 |           5779 |         6224 |
          | 7.6 GB   |       2 |          10897 |        13611 | + 24.9%
          | 7.6 GB   |       4 |          32683 |        33108 |
          | 7.6 GB   |       8 |          33968 |        34712 |
          | 7.6 GB   |      16 |          32287 |        32895 |
          | 7.6 GB   |      20 |          27770 |        31689 | + 14.1%
          | 7.6 GB   |      30 |          26739 |        29003 |
          | 7.6 GB   |      40 |          24901 |        26683 |
          | 7.6 GB   |      50 |          17115 |        25925 | + 51.5%
          ------------------------------------------------------
      
        (Davidlohr also has one additional patch which further improves
        throughput, though I will ask him to send it directly to you as I have
        suggested some minor changes)."
      
      * emailed patches from Michel Lespinasse <walken@google.com>:
        rwsem: no need for explicit signed longs
        x86 rwsem: avoid taking slow path when stealing write lock
        rwsem: do not block readers at head of queue if other readers are active
        rwsem: implement support for write lock stealing on the fastpath
        rwsem: simplify __rwsem_do_wake
        rwsem: skip initial trylock in rwsem_down_write_failed
        rwsem: avoid taking wait_lock in rwsem_down_write_failed
        rwsem: use cmpxchg for trying to steal write lock
        rwsem: more agressive lock stealing in rwsem_down_write_failed
        rwsem: simplify rwsem_down_write_failed
        rwsem: simplify rwsem_down_read_failed
        rwsem: move rwsem_down_failed_common code into rwsem_down_{read,write}_failed
        rwsem: shorter spinlocked section in rwsem_down_failed_common()
        rwsem: make the waiter type an enumeration rather than a bitmask
      c8de2fa4
  2. 07 5月, 2013 37 次提交