1. 20 7月, 2015 2 次提交
  2. 06 7月, 2015 6 次提交
    • W
      locking/qrwlock: Better optimization for interrupt context readers · 0e06e5be
      Waiman Long 提交于
      The qrwlock is fair in the process context, but becoming unfair when
      in the interrupt context to support use cases like the tasklist_lock.
      
      The current code isn't that well-documented on what happens when
      in the interrupt context. The rspin_until_writer_unlock() will only
      spin if the writer has gotten the lock. If the writer is still in the
      waiting state, the increment in the reader count will cause the writer
      to remain in the waiting state and the new interrupt context reader
      will get the lock and return immediately. The current code, however,
      does an additional read of the lock value which is not necessary as
      the information has already been there in the fast path. This may
      sometime cause an additional cacheline transfer when the lock is
      highly contended.
      
      This patch passes the lock value information gotten in the fast path
      to the slow path to eliminate the additional read. It also documents
      the action for the interrupt context readers more clearly.
      Signed-off-by: NWaiman Long <Waiman.Long@hp.com>
      Signed-off-by: NPeter Zijlstra (Intel) <peterz@infradead.org>
      Reviewed-by: NWill Deacon <will.deacon@arm.com>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: Douglas Hatch <doug.hatch@hp.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Scott J Norton <scott.norton@hp.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Link: http://lkml.kernel.org/r/1434729002-57724-3-git-send-email-Waiman.Long@hp.comSigned-off-by: NIngo Molnar <mingo@kernel.org>
      0e06e5be
    • W
      locking/qrwlock: Rename functions to queued_*() · f7d71f20
      Waiman Long 提交于
      To sync up with the naming convention used in qspinlock, all the
      qrwlock functions were renamed to started with "queued" instead of
      "queue".
      Signed-off-by: NWaiman Long <Waiman.Long@hp.com>
      Signed-off-by: NPeter Zijlstra (Intel) <peterz@infradead.org>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: Douglas Hatch <doug.hatch@hp.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Scott J Norton <scott.norton@hp.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Will Deacon <will.deacon@arm.com>
      Link: http://lkml.kernel.org/r/1434729002-57724-2-git-send-email-Waiman.Long@hp.comSigned-off-by: NIngo Molnar <mingo@kernel.org>
      f7d71f20
    • L
      Merge tag 'ext4_for_linus_stable' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 · 1c4c7159
      Linus Torvalds 提交于
      Pull ext4 bugfixes from Ted Ts'o:
       "Bug fixes (all for stable kernels) for ext4:
      
         - address corner cases for indirect blocks->extent migration
      
         - fix reserved block accounting invalidate_page when
           page_size != block_size (i.e., ppc or 1k block size file systems)
      
         - fix deadlocks when a memcg is under heavy memory pressure
      
         - fix fencepost error in lazytime optimization"
      
      * tag 'ext4_for_linus_stable' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:
        ext4: replace open coded nofail allocation in ext4_free_blocks()
        ext4: correctly migrate a file with a hole at the beginning
        ext4: be more strict when migrating to non-extent based file
        ext4: fix reservation release on invalidatepage for delalloc fs
        ext4: avoid deadlocks in the writeback path by using sb_getblk_gfp
        bufferhead: Add _gfp version for sb_getblk()
        ext4: fix fencepost error in lazytime optimization
      1c4c7159
    • L
      Linux 4.2-rc1 · d770e558
      Linus Torvalds 提交于
      d770e558
    • L
      Merge tag 'platform-drivers-x86-v4.2-2' of... · a585d2b7
      Linus Torvalds 提交于
      Merge tag 'platform-drivers-x86-v4.2-2' of git://git.infradead.org/users/dvhart/linux-platform-drivers-x86
      
      Pull late x86 platform driver updates from Darren Hart:
       "The following came in a bit later and I wanted them to bake in next a
        few more days before submitting, thus the second pull.
      
        A new intel_pmc_ipc driver, a symmetrical allocation and free fix in
        dell-laptop, a couple minor fixes, and some updated documentation in
        the dell-laptop comments.
      
        intel_pmc_ipc:
         - Add Intel Apollo Lake PMC IPC driver
      
        tc1100-wmi:
         - Delete an unnecessary check before the function call "kfree"
      
        dell-laptop:
         - Fix allocating & freeing SMI buffer page
         - Show info about WiGig and UWB in debugfs
         - Update information about wireless control"
      
      * tag 'platform-drivers-x86-v4.2-2' of git://git.infradead.org/users/dvhart/linux-platform-drivers-x86:
        intel_pmc_ipc: Add Intel Apollo Lake PMC IPC driver
        tc1100-wmi: Delete an unnecessary check before the function call "kfree"
        dell-laptop: Fix allocating & freeing SMI buffer page
        dell-laptop: Show info about WiGig and UWB in debugfs
        dell-laptop: Update information about wireless control
      a585d2b7
    • M
      ext4: replace open coded nofail allocation in ext4_free_blocks() · 7444a072
      Michal Hocko 提交于
      ext4_free_blocks is looping around the allocation request and mimics
      __GFP_NOFAIL behavior without any allocation fallback strategy. Let's
      remove the open coded loop and replace it with __GFP_NOFAIL. Without the
      flag the allocator has no way to find out never-fail requirement and
      cannot help in any way.
      Signed-off-by: NMichal Hocko <mhocko@suse.cz>
      Signed-off-by: NTheodore Ts'o <tytso@mit.edu>
      Cc: stable@vger.kernel.org
      7444a072
  3. 05 7月, 2015 32 次提交