1. 04 7月, 2013 34 次提交
  2. 03 7月, 2013 6 次提交
    • A
      Document ->tmpfile() · 48bde8d3
      Al Viro 提交于
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      48bde8d3
    • A
      ext4: ->tmpfile() support · af51a2ac
      Al Viro 提交于
      very similar to ext3 counterpart...
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      af51a2ac
    • J
      vfs: export lseek_execute() to modules · 46a1c2c7
      Jie Liu 提交于
      For those file systems(btrfs/ext4/ocfs2/tmpfs) that support
      SEEK_DATA/SEEK_HOLE functions, we end up handling the similar
      matter in lseek_execute() to update the current file offset
      to the desired offset if it is valid, ceph also does the
      simliar things at ceph_llseek().
      
      To reduce the duplications, this patch make lseek_execute()
      public accessible so that we can call it directly from the
      underlying file systems.
      
      Thanks Dave Chinner for this suggestion.
      
      [AV: call it vfs_setpos(), don't bring the removed 'inode' argument back]
      
      v2->v1:
      - Add kernel-doc comments for lseek_execute()
      - Call lseek_execute() in ceph->llseek()
      Signed-off-by: NJie Liu <jeff.liu@oracle.com>
      Cc: Dave Chinner <dchinner@redhat.com>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Cc: Andi Kleen <andi@firstfloor.org>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Christoph Hellwig <hch@lst.de>
      Cc: Chris Mason <chris.mason@fusionio.com>
      Cc: Josef Bacik <jbacik@fusionio.com>
      Cc: Ben Myers <bpm@sgi.com>
      Cc: Ted Tso <tytso@mit.edu>
      Cc: Hugh Dickins <hughd@google.com>
      Cc: Mark Fasheh <mfasheh@suse.com>
      Cc: Joel Becker <jlbec@evilplan.org>
      Cc: Sage Weil <sage@inktank.com>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      46a1c2c7
    • L
      Merge branch 'for-3.11-cpuset' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup · 0b0585c3
      Linus Torvalds 提交于
      Pull cpuset changes from Tejun Heo:
       "cpuset has always been rather odd about its configurations - a cgroup
        right after creation didn't allow any task executions before
        configuration, changing configuration in the parent modifies the
        descendants irreversibly and so on.  These behaviors are inherently
        nasty and almost hostile against sharing the hierarchy with other
        controllers making it very difficult to use in unified hierarchy.
      
        Li is currently in the process of updating the behaviors for
        __DEVEL__sane_behavior which is the bulk of changes in this pull
        request.  It isn't complete yet and the behaviors will change further
        but all changes are gated behind sane_behavior.  In the process, the
        rather hairy work-item punting which was used to work around the
        limitations of cgroup descendant iterator was simplified."
      
      * 'for-3.11-cpuset' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:
        cpuset: rename @cont to @cgrp
        cpuset: fix to migrate mm correctly in a corner case
        cpuset: allow to move tasks to empty cpusets
        cpuset: allow to keep tasks in empty cpusets
        cpuset: introduce effective_{cpumask|nodemask}_cpuset()
        cpuset: record old_mems_allowed in struct cpuset
        cpuset: remove async hotplug propagation work
        cpuset: let hotplug propagation work wait for task attaching
        cpuset: re-structure update_cpumask() a bit
        cpuset: remove cpuset_test_cpumask()
        cpuset: remove unnecessary variable in cpuset_attach()
        cpuset: cleanup guarantee_online_{cpus|mems}()
        cpuset: remove redundant check in cpuset_cpus_allowed_fallback()
      0b0585c3
    • L
      Merge branch 'for-3.11' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup · b028161f
      Linus Torvalds 提交于
      Pull cgroup changes from Tejun Heo:
       "This pull request contains the following changes.
      
         - cgroup_subsys_state (css) reference counting has been converted to
           percpu-ref.  css is what each resource controller embeds into its
           own control structure and perform reference count against.  It may
           be used in hot paths of various subsystems and is similar to module
           refcnt in that aspect.  For example, block-cgroup's css refcnting
           was showing up a lot in Mikulaus's device-mapper scalability work
           and this should alleviate it.
      
         - cgroup subtree iterator has been updated so that RCU read lock can
           be released after grabbing reference.  This allows simplifying its
           users which requires blocking which used to build iteration list
           under RCU read lock and then traverse it outside.  This pull
           request contains simplification of cgroup core and device-cgroup.
           A separate pull request will update cpuset.
      
         - Fixes for various bugs including corner race conditions and RCU
           usage bugs.
      
         - A lot of cleanups and some prepartory work for the planned unified
           hierarchy support."
      
      * 'for-3.11' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup: (48 commits)
        cgroup: CGRP_ROOT_SUBSYS_BOUND should also be ignored when mounting an existing hierarchy
        cgroup: CGRP_ROOT_SUBSYS_BOUND should be ignored when comparing mount options
        cgroup: fix deadlock on cgroup_mutex via drop_parsed_module_refcounts()
        cgroup: always use RCU accessors for protected accesses
        cgroup: fix RCU accesses around task->cgroups
        cgroup: fix RCU accesses to task->cgroups
        cgroup: grab cgroup_mutex in drop_parsed_module_refcounts()
        cgroup: fix cgroupfs_root early destruction path
        cgroup: reserve ID 0 for dummy_root and 1 for unified hierarchy
        cgroup: implement for_each_[builtin_]subsys()
        cgroup: move init_css_set initialization inside cgroup_mutex
        cgroup: s/for_each_subsys()/for_each_root_subsys()/
        cgroup: clean up find_css_set() and friends
        cgroup: remove cgroup->actual_subsys_mask
        cgroup: prefix global variables with "cgroup_"
        cgroup: convert CFTYPE_* flags to enums
        cgroup: rename cont to cgrp
        cgroup: clean up cgroup_serial_nr_cursor
        cgroup: convert cgroup_cft_commit() to use cgroup_for_each_descendant_pre()
        cgroup: make serial_nr_cursor available throughout cgroup.c
        ...
      b028161f
    • L
      Merge branch 'for-3.11' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq · f317ff9e
      Linus Torvalds 提交于
      Pull workqueue changes from Tejun Heo:
       "Surprisingly, Lai and I didn't break too many things implementing
        custom pools and stuff last time around and there aren't any follow-up
        changes necessary at this point.
      
        The only change in this pull request is Viresh's patches to make some
        per-cpu workqueues to behave as unbound workqueues dependent on a boot
        param whose default can be configured via a config option.  This leads
        to higher processing overhead / lower bandwidth as more work items are
        bounced across CPUs; however, it can lead to noticeable powersave in
        certain configurations - ~10% w/ idlish constant workload on a
        big.LITTLE configuration according to Viresh.
      
        This is because per-cpu workqueues interfere with how the scheduler
        perceives whether or not each CPU is idle by forcing pinned tasks on
        them, which makes the scheduler's power-aware scheduling decisions
        less effective.
      
        Its effectiveness is likely less pronounced on homogenous
        configurations and this type of optimization can probably be made
        automatic; however, the changes are pretty minimal and the affected
        workqueues are clearly marked, so it's an easy gain for some
        configurations for the time being with pretty unintrusive changes."
      
      * 'for-3.11' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:
        fbcon: queue work on power efficient wq
        block: queue work on power efficient wq
        PHYLIB: queue work on system_power_efficient_wq
        workqueue: Add system wide power_efficient workqueues
        workqueues: Introduce new flag WQ_POWER_EFFICIENT for power oriented workqueues
      f317ff9e