1. 14 10月, 2014 23 次提交
  2. 13 10月, 2014 17 次提交
    • L
      Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · faafcba3
      Linus Torvalds 提交于
      Pull scheduler updates from Ingo Molnar:
       "The main changes in this cycle were:
      
         - Optimized support for Intel "Cluster-on-Die" (CoD) topologies (Dave
           Hansen)
      
         - Various sched/idle refinements for better idle handling (Nicolas
           Pitre, Daniel Lezcano, Chuansheng Liu, Vincent Guittot)
      
         - sched/numa updates and optimizations (Rik van Riel)
      
         - sysbench speedup (Vincent Guittot)
      
         - capacity calculation cleanups/refactoring (Vincent Guittot)
      
         - Various cleanups to thread group iteration (Oleg Nesterov)
      
         - Double-rq-lock removal optimization and various refactorings
           (Kirill Tkhai)
      
         - various sched/deadline fixes
      
        ... and lots of other changes"
      
      * 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (72 commits)
        sched/dl: Use dl_bw_of() under rcu_read_lock_sched()
        sched/fair: Delete resched_cpu() from idle_balance()
        sched, time: Fix build error with 64 bit cputime_t on 32 bit systems
        sched: Improve sysbench performance by fixing spurious active migration
        sched/x86: Fix up typo in topology detection
        x86, sched: Add new topology for multi-NUMA-node CPUs
        sched/rt: Use resched_curr() in task_tick_rt()
        sched: Use rq->rd in sched_setaffinity() under RCU read lock
        sched: cleanup: Rename 'out_unlock' to 'out_free_new_mask'
        sched: Use dl_bw_of() under RCU read lock
        sched/fair: Remove duplicate code from can_migrate_task()
        sched, mips, ia64: Remove __ARCH_WANT_UNLOCKED_CTXSW
        sched: print_rq(): Don't use tasklist_lock
        sched: normalize_rt_tasks(): Don't use _irqsave for tasklist_lock, use task_rq_lock()
        sched: Fix the task-group check in tg_has_rt_tasks()
        sched/fair: Leverage the idle state info when choosing the "idlest" cpu
        sched: Let the scheduler see CPU idle states
        sched/deadline: Fix inter- exclusive cpusets migrations
        sched/deadline: Clear dl_entity params when setscheduling to different class
        sched/numa: Kill the wrong/dead TASK_DEAD check in task_numa_fault()
        ...
      faafcba3
    • L
      Merge branch 'perf-watchdog-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 13ead805
      Linus Torvalds 提交于
      Pull watchdog fixes from Ingo Molnar:
       "Two small watchdog subsystem fixes"
      
      * 'perf-watchdog-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        watchdog: Fix print-once on enable
        watchdog: Remove unnecessary header files
      13ead805
    • L
      Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · ebf546cc
      Linus Torvalds 提交于
      Pull perf fixes from Ingo Molnar:
       "Two leftover fixes from the v3.17 cycle - these will be forwarded to
        stable as well, if they prove problem-free in wider testing as well"
      
      [ Side note: the "fix perf bug in fork()" fix had also come in through
        Andrew's patch-bomb   - Linus ]
      
      * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        perf: Fix perf bug in fork()
        perf: Fix unclone_ctx() vs. locking
      ebf546cc
    • L
      Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 9d9420f1
      Linus Torvalds 提交于
      Pull perf updates from Ingo Molnar:
       "Kernel side updates:
      
         - Fix and enhance poll support (Jiri Olsa)
      
         - Re-enable inheritance optimization (Jiri Olsa)
      
         - Enhance Intel memory events support (Stephane Eranian)
      
         - Refactor the Intel uncore driver to be more maintainable (Zheng
           Yan)
      
         - Enhance and fix Intel CPU and uncore PMU drivers (Peter Zijlstra,
           Andi Kleen)
      
         - [ plus various smaller fixes/cleanups ]
      
        User visible tooling updates:
      
         - Add +field argument support for --field option, so that one can add
           fields to the default list of fields to show, ie now one can just
           do:
      
               perf report --fields +pid
      
           And the pid will appear in addition to the default fields (Jiri
           Olsa)
      
         - Add +field argument support for --sort option (Jiri Olsa)
      
         - Honour -w in the report tools (report, top), allowing to specify
           the widths for the histogram entries columns (Namhyung Kim)
      
         - Properly show submicrosecond times in 'perf kvm stat' (Christian
           Borntraeger)
      
         - Add beautifier for mremap flags param in 'trace' (Alex Snast)
      
         - perf script: Allow callchains if any event samples them
      
         - Don't truncate Intel style addresses in 'annotate' (Alex Converse)
      
         - Allow profiling when kptr_restrict == 1 for non root users, kernel
           samples will just remain unresolved (Andi Kleen)
      
         - Allow configuring default options for callchains in config file
           (Namhyung Kim)
      
         - Support operations for shared futexes.  (Davidlohr Bueso)
      
         - "perf kvm stat report" improvements by Alexander Yarygin:
             -  Save pid string in opts.target.pid
             -  Enable the target.system_wide flag
             -  Unify the title bar output
      
         - [ plus lots of other fixes and small improvements.  ]
      
        Tooling infrastructure changes:
      
         - Refactor unit and scale function parameters for PMU parsing
           routines (Matt Fleming)
      
         - Improve DSO long names lookup with rbtree, resulting in great
           speedup for workloads with lots of DSOs (Waiman Long)
      
         - We were not handling POLLHUP notifications for event file
           descriptors
      
           Fix it by filtering entries in the events file descriptor array
           after poll() returns, refcounting mmaps so that when the last fd
           pointing to a perf mmap goes away we do the unmap (Arnaldo Carvalho
           de Melo)
      
         - Intel PT prep work, from Adrian Hunter, including:
             - Let a user specify a PMU event without any config terms
             - Add perf-with-kcore script
             - Let default config be defined for a PMU
             - Add perf_pmu__scan_file()
             - Add a 'perf test' for tracking with sched_switch
             - Add 'flush' callback to scripting API
      
         - Use ring buffer consume method to look like other tools (Arnaldo
           Carvalho de Melo)
      
         - hists browser (used in top and report) refactorings, getting rid of
           unused variables and reducing source code size by handling similar
           cases in a fewer functions (Namhyung Kim).
      
         - Replace thread unsafe strerror() with strerror_r() accross the
           whole tools/perf/ tree (Masami Hiramatsu)
      
         - Rename ordered_samples to ordered_events and allow setting a queue
           size for ordering events (Jiri Olsa)
      
         - [ plus lots of fixes, cleanups and other improvements ]"
      
      * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (198 commits)
        perf/x86: Tone down kernel messages when the PMU check fails in a virtual environment
        perf/x86/intel/uncore: Fix minor race in box set up
        perf record: Fix error message for --filter option not coming after tracepoint
        perf tools: Fix build breakage on arm64 targets
        perf symbols: Improve DSO long names lookup speed with rbtree
        perf symbols: Encapsulate dsos list head into struct dsos
        perf bench futex: Sanitize -q option in requeue
        perf bench futex: Support operations for shared futexes
        perf trace: Fix mmap return address truncation to 32-bit
        perf tools: Refactor unit and scale function parameters
        perf tools: Fix line number in the config file error message
        perf tools: Convert {record,top}.call-graph option to call-graph.record-mode
        perf tools: Introduce perf_callchain_config()
        perf callchain: Move some parser functions to callchain.c
        perf tools: Move callchain config from record_opts to callchain_param
        perf hists browser: Fix callchain print bug on TUI
        perf tools: Use ACCESS_ONCE() instead of volatile cast
        perf tools: Modify error code for when perf_session__new() fails
        perf tools: Fix perf record as non root with kptr_restrict == 1
        perf stat: Fix --per-core on multi socket systems
        ...
      9d9420f1
    • L
      Merge branch 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 6d5f0ebf
      Linus Torvalds 提交于
      Pull core locking updates from Ingo Molnar:
       "The main updates in this cycle were:
      
         - mutex MCS refactoring finishing touches: improve comments, refactor
           and clean up code, reduce debug data structure footprint, etc.
      
         - qrwlock finishing touches: remove old code, self-test updates.
      
         - small rwsem optimization
      
         - various smaller fixes/cleanups"
      
      * 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        locking/lockdep: Revert qrwlock recusive stuff
        locking/rwsem: Avoid double checking before try acquiring write lock
        locking/rwsem: Move EXPORT_SYMBOL() lines to follow function definition
        locking/rwlock, x86: Delete unused asm/rwlock.h and rwlock.S
        locking/rwlock, x86: Clean up asm/spinlock*.h to remove old rwlock code
        locking/semaphore: Resolve some shadow warnings
        locking/selftest: Support queued rwlock
        locking/lockdep: Restrict the use of recursive read_lock() with qrwlock
        locking/spinlocks: Always evaluate the second argument of spin_lock_nested()
        locking/Documentation: Update locking/mutex-design.txt disadvantages
        locking/Documentation: Move locking related docs into Documentation/locking/
        locking/mutexes: Use MUTEX_SPIN_ON_OWNER when appropriate
        locking/mutexes: Refactor optimistic spinning code
        locking/mcs: Remove obsolete comment
        locking/mutexes: Document quick lock release when unlocking
        locking/mutexes: Standardize arguments in lock/unlock slowpaths
        locking: Remove deprecated smp_mb__() barriers
      6d5f0ebf
    • L
      Merge branch 'locking-arch-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · dbb885fe
      Linus Torvalds 提交于
      Pull arch atomic cleanups from Ingo Molnar:
       "This is a series kept separate from the main locking tree, which
        cleans up and improves various details in the atomics type handling:
      
         - Remove the unused atomic_or_long() method
      
         - Consolidate and compress atomic ops implementations between
           architectures, to reduce linecount and to make it easier to add new
           ops.
      
         - Rewrite generic atomic support to only require cmpxchg() from an
           architecture - generate all other methods from that"
      
      * 'locking-arch-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (23 commits)
        locking,arch: Use ACCESS_ONCE() instead of cast to volatile in atomic_read()
        locking, mips: Fix atomics
        locking, sparc64: Fix atomics
        locking,arch: Rewrite generic atomic support
        locking,arch,xtensa: Fold atomic_ops
        locking,arch,sparc: Fold atomic_ops
        locking,arch,sh: Fold atomic_ops
        locking,arch,powerpc: Fold atomic_ops
        locking,arch,parisc: Fold atomic_ops
        locking,arch,mn10300: Fold atomic_ops
        locking,arch,mips: Fold atomic_ops
        locking,arch,metag: Fold atomic_ops
        locking,arch,m68k: Fold atomic_ops
        locking,arch,m32r: Fold atomic_ops
        locking,arch,ia64: Fold atomic_ops
        locking,arch,hexagon: Fold atomic_ops
        locking,arch,cris: Fold atomic_ops
        locking,arch,avr32: Fold atomic_ops
        locking,arch,arm64: Fold atomic_ops
        locking,arch,arm: Fold atomic_ops
        ...
      dbb885fe
    • L
      Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · d6dd50e0
      Linus Torvalds 提交于
      Pull RCU updates from Ingo Molnar:
       "The main changes in this cycle were:
      
         - changes related to No-CBs CPUs and NO_HZ_FULL
      
         - RCU-tasks implementation
      
         - torture-test updates
      
         - miscellaneous fixes
      
         - locktorture updates
      
         - RCU documentation updates"
      
      * 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (81 commits)
        workqueue: Use cond_resched_rcu_qs macro
        workqueue: Add quiescent state between work items
        locktorture: Cleanup header usage
        locktorture: Cannot hold read and write lock
        locktorture: Fix __acquire annotation for spinlock irq
        locktorture: Support rwlocks
        rcu: Eliminate deadlock between CPU hotplug and expedited grace periods
        locktorture: Document boot/module parameters
        rcutorture: Rename rcutorture_runnable parameter
        locktorture: Add test scenario for rwsem_lock
        locktorture: Add test scenario for mutex_lock
        locktorture: Make torture scripting account for new _runnable name
        locktorture: Introduce torture context
        locktorture: Support rwsems
        locktorture: Add infrastructure for torturing read locks
        torture: Address race in module cleanup
        locktorture: Make statistics generic
        locktorture: Teach about lock debugging
        locktorture: Support mutexes
        locktorture: Add documentation
        ...
      d6dd50e0
    • L
      Merge tag 'xfs-for-linus-3.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/dgc/linux-xfs · 5ff0b9e1
      Linus Torvalds 提交于
      Pull xfs update from Dave Chinner:
       "This update contains:
         - various cleanups
         - log recovery debug hooks
         - seek hole/data implementation merge
         - extent shift rework to fix collapse range bugs
         - various sparse warning fixes
         - log recovery transaction processing rework to fix use after free
           bugs
         - metadata buffer IO infrastructuer rework to ensure all buffers
           under IO have valid reference counts
         - various fixes for ondisk flags, writeback and zero range corner
           cases"
      
      * tag 'xfs-for-linus-3.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/dgc/linux-xfs: (56 commits)
        xfs: fix agno increment in xfs_inumbers() loop
        xfs: xfs_iflush_done checks the wrong log item callback
        xfs: flush the range before zero range conversion
        xfs: restore buffer_head unwritten bit on ioend cancel
        xfs: check for null dquot in xfs_quota_calc_throttle()
        xfs: fix crc field handling in xfs_sb_to/from_disk
        xfs: don't send null bp to xfs_trans_brelse()
        xfs: check for inode size overflow in xfs_new_eof()
        xfs: only set extent size hint when asked
        xfs: project id inheritance is a directory only flag
        xfs: kill time.h
        xfs: compat_xfs_bstat does not have forkoff
        xfs: simplify xfs_zero_remaining_bytes
        xfs: check xfs_buf_read_uncached returns correctly
        xfs: introduce xfs_buf_submit[_wait]
        xfs: kill xfs_bioerror_relse
        xfs: xfs_bioerror can die.
        xfs: kill xfs_bdstrat_cb
        xfs: rework xfs_buf_bio_endio error handling
        xfs: xfs_buf_ioend and xfs_buf_iodone_work duplicate functionality
        ...
      5ff0b9e1
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 77c688ac
      Linus Torvalds 提交于
      Pull vfs updates from Al Viro:
       "The big thing in this pile is Eric's unmount-on-rmdir series; we
        finally have everything we need for that.  The final piece of prereqs
        is delayed mntput() - now filesystem shutdown always happens on
        shallow stack.
      
        Other than that, we have several new primitives for iov_iter (Matt
        Wilcox, culled from his XIP-related series) pushing the conversion to
        ->read_iter()/ ->write_iter() a bit more, a bunch of fs/dcache.c
        cleanups and fixes (including the external name refcounting, which
        gives consistent behaviour of d_move() wrt procfs symlinks for long
        and short names alike) and assorted cleanups and fixes all over the
        place.
      
        This is just the first pile; there's a lot of stuff from various
        people that ought to go in this window.  Starting with
        unionmount/overlayfs mess...  ;-/"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (60 commits)
        fs/file_table.c: Update alloc_file() comment
        vfs: Deduplicate code shared by xattr system calls operating on paths
        reiserfs: remove pointless forward declaration of struct nameidata
        don't need that forward declaration of struct nameidata in dcache.h anymore
        take dname_external() into fs/dcache.c
        let path_init() failures treated the same way as subsequent link_path_walk()
        fix misuses of f_count() in ppp and netlink
        ncpfs: use list_for_each_entry() for d_subdirs walk
        vfs: move getname() from callers to do_mount()
        gfs2_atomic_open(): skip lookups on hashed dentry
        [infiniband] remove pointless assignments
        gadgetfs: saner API for gadgetfs_create_file()
        f_fs: saner API for ffs_sb_create_file()
        jfs: don't hash direct inode
        [s390] remove pointless assignment of ->f_op in vmlogrdr ->open()
        ecryptfs: ->f_op is never NULL
        android: ->f_op is never NULL
        nouveau: __iomem misannotations
        missing annotation in fs/file.c
        fs: namespace: suppress 'may be used uninitialized' warnings
        ...
      77c688ac
    • D
      Merge branch 'xfs-misc-fixes-for-3.18-3' into for-next · 6889e783
      Dave Chinner 提交于
      6889e783
    • E
      xfs: fix agno increment in xfs_inumbers() loop · a8b1ee8b
      Eric Sandeen 提交于
      caused a regression in xfs_inumbers, which in turn broke
      xfsdump, causing incomplete dumps.
      
      The loop in xfs_inumbers() needs to fill the user-supplied
      buffers, and iterates via xfs_btree_increment, reading new
      ags as needed.
      
      But the first time through the loop, if xfs_btree_increment()
      succeeds, we continue, which triggers the ++agno at the bottom
      of the loop, and we skip to soon to the next ag - without
      the proper setup under next_ag to read the next ag.
      
      Fix this by removing the agno increment from the loop conditional,
      and only increment agno if we have actually hit the code under
      the next_ag: target.
      
      Cc: stable@vger.kernel.org
      Signed-off-by: NEric Sandeen <sandeen@redhat.com>
      Reviewed-by: NDave Chinner <dchinner@redhat.com>
      Signed-off-by: NDave Chinner <david@fromorbit.com>
      a8b1ee8b
    • E
      fs/file_table.c: Update alloc_file() comment · a457606a
      Eric Biggers 提交于
      This comment is 5 years outdated; init_file() no longer exists.
      Signed-off-by: NEric Biggers <ebiggers3@gmail.com>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      a457606a
    • E
      vfs: Deduplicate code shared by xattr system calls operating on paths · 8cc43116
      Eric Biggers 提交于
      The following pairs of system calls dealing with extended attributes only
      differ in their behavior on whether the symbolic link is followed (when
      the named file is a symbolic link):
      
      - setxattr() and lsetxattr()
      - getxattr() and lgetxattr()
      - listxattr() and llistxattr()
      - removexattr() and lremovexattr()
      
      Despite this, the implementations all had duplicated code, so this commit
      redirects each of the above pairs of system calls to a corresponding
      function to which different lookup flags (LOOKUP_FOLLOW or 0) are passed.
      
      For me this reduced the stripped size of xattr.o from 8824 to 8248 bytes.
      Signed-off-by: NEric Biggers <ebiggers3@gmail.com>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      8cc43116
    • A
      50b220bb
    • A
    • A
      take dname_external() into fs/dcache.c · 810bb172
      Al Viro 提交于
      never used outside and it's too low-level for legitimate uses outside
      of fs/dcache.c anyway
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      810bb172
    • A
      let path_init() failures treated the same way as subsequent link_path_walk() · 115cbfdc
      Al Viro 提交于
      As it is, path_lookupat() and path_mounpoint() might end up leaking struct file
      reference in some cases.
      Spotted-by: NEric Biggers <ebiggers3@gmail.com>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      115cbfdc