All of lore.kernel.org
 help / color / mirror / Atom feed
* [GIT PULL] Block/IO core bits for 3.5
@ 2012-05-30 12:50 Jens Axboe
  0 siblings, 0 replies; only message in thread
From: Jens Axboe @ 2012-05-30 12:50 UTC (permalink / raw)
  To: Linus Torvalds, linux-kernel@vger.kernel.org

Hi Linus,

This is the main 3.5 block/IO core pull request for 3.5. This is
a bit bigger on the core side than usual, but that is purely because
we decided to hold off on parts of Tejun's submission on 3.4 to give
it a bit more time to simmer. As a consequence, it's seen a long
cycle in for-next.

It contains:

- Bug fix from Dan, wrong locking type.
- Relax splice gifting restriction from Eric.
- A ton of updates from Tejun, primarily for blkcg. This improves
  the code a lot, making the API nicer and cleaner, and also includes
  fixes for how we handle and tie policies and re-activate on switches.
  The changes also include generic bug fixes.
- A simple fix from Vivek, along with a fix for doing proper delayed
  allocation of the blkcg stats.

Please pull.

  git://git.kernel.dk/linux-block.git for-3.5/core

for you to fetch changes up to ff26eaadf4d914e397872b99885d45756104e9ae:

  blkcg: tg_stats_alloc_lock is an irq lock (2012-05-23 12:16:21 +0200)

----------------------------------------------------------------
Dan Carpenter (1):
      blkcg: change a spin_lock() to spin_lock_irq()

Eric Dumazet (1):
      vmsplice: relax alignement requirements for SPLICE_F_GIFT

Jens Axboe (1):
      Merge tag 'v3.4-rc5' into for-3.5/core

Tejun Heo (89):
      block: blk-throttle should be drained regardless of q->elevator
      blkcg: make CONFIG_BLK_CGROUP bool
      cfq: don't register propio policy if !CONFIG_CFQ_GROUP_IOSCHED
      elevator: clear auxiliary data earlier during elevator switch
      elevator: make elevator_init_fn() return 0/-errno
      block: implement blk_queue_bypass_start/end()
      block: extend queue bypassing to cover blkcg policies
      blkcg: shoot down blkio_groups on elevator switch
      blkcg: move rcu_read_lock() outside of blkio_group get functions
      blkcg: update blkg get functions take blkio_cgroup as parameter
      blkcg: use q and plid instead of opaque void * for blkio_group association
      blkcg: add blkio_policy[] array and allow one policy per policy ID
      blkcg: use the usual get blkg path for root blkio_group
      blkcg: factor out blkio_group creation
      blkcg: don't allow or retain configuration of missing devices
      blkcg: kill blkio_policy_node
      blkcg: kill the mind-bending blkg->dev
      blkcg: let blkio_group point to blkio_cgroup directly
      blkcg: add blkcg_{init|drain|exit}_queue()
      blkcg: clear all request_queues on blkcg policy [un]registrations
      blkcg: let blkcg core handle policy private data allocation
      blkcg: move refcnt to blkcg core
      blkcg: make blkg->pd an array and move configuration and stats into it
      blkcg: don't use blkg->plid in stat related functions
      blkcg: move per-queue blkg list heads and counters to queue and blkg
      blkcg: let blkcg core manage per-queue blkg list and counter
      blkcg: unify blkg's for blkcg policies
      blkcg: use double locking instead of RCU for blkg synchronization
      blkcg: drop unnecessary RCU locking
      block: restructure get_request()
      block: interface update for ioc/icq creation functions
      block: ioc_task_link() can't fail
      block: add io_context->active_ref
      block: implement bio_associate_current()
      block: make block cgroup policies follow bio task association
      block: make blk-throttle preserve the issuing task on delayed bios
      blkcg: don't use percpu for merged stats
      blkcg: simplify stat reset
      blkcg: restructure blkio_get_stat()
      blkcg: remove blkio_group->stats_lock
      blkcg: add blkcg->id
      cfq: pass around cfq_io_cq instead of io_context
      cfq: don't use icq_get_changed()
      block: remove ioc_*_changed()
      cfq: fix cfqg ref handling when BLK_CGROUP && !CFQ_GROUP_IOSCHED
      Merge branch 'for-3.5' of ../cgroup into block/for-3.5/core-merged
      blkcg: remove unused @pol and @plid parameters
      blkcg: BLKIO_STAT_CPU_SECTORS doesn't have subcounters
      blkcg: introduce blkg_stat and blkg_rwstat
      blkcg: restructure statistics printing
      blkcg: drop blkiocg_file_write_u64()
      blkcg: restructure configuration printing
      blkcg: restructure blkio_group configruation setting
      blkcg: simplify blkg_conf_prep()
      blkcg: export conf/stat helpers to prepare for reorganization
      blkcg: implement blkio_policy_type->cftypes
      blkcg: move conf/stat file handling code to policies
      cfq: collapse cfq.h into cfq-iosched.c
      blkcg: move statistics update code to policies
      blkcg: cfq doesn't need per-cpu dispatch stats
      blkcg: add blkio_policy_ops operations for exit and stat reset
      blkcg: move blkio_group_stats to cfq-iosched.c
      blkcg: move blkio_group_stats_cpu and friends to blk-throttle.c
      blkcg: move blkio_group_conf->weight to cfq
      blkcg: move blkio_group_conf->iops and ->bps to blk-throttle
      blkcg: pass around pd->pdata instead of pd itself in prfill functions
      blkcg: drop BLKCG_STAT_{PRIV|POL|OFF} macros
      cfq: fix build breakage & warnings
      blkcg: kill blkio_list and replace blkio_list_lock with a mutex
      blkcg: use @pol instead of @plid in update_root_blkg_pd() and blkcg_print_blkgs()
      blkcg: remove static policy ID enums
      blkcg: make blkg_conf_prep() take @pol and return with queue lock held
      blkcg: make sure blkg_lookup() returns %NULL if @q is bypassing
      blkcg: make request_queue bypassing on allocation
      blkcg: add request_queue->root_blkg
      blkcg: implement per-queue policy activation
      blkcg: drop stuff unused after per-queue policy activation update
      blkcg: shoot down blkgs if all policies are deactivated
      blkcg: blkg_rwstat_read() was missing inline
      blkcg: remove blkio_group->path[]
      blkcg: style cleanups for blk-cgroup.h
      blkcg: mass rename of blkcg API
      blkcg: embed struct blkg_policy_data in policy specific data
      blkcg: collapse blkcg_policy_ops into blkcg_policy
      block: collapse blk_alloc_request() into get_request()
      block: fix elvpriv allocation failure handling
      blkcg: fix blkcg->css ref leak in __blkg_lookup_create()
      blkcg: use radix tree to index blkgs from blkcg
      blkcg: tg_stats_alloc_lock is an irq lock

Vivek Goyal (2):
      blkcg: skip blkg printing if q isn't associated with disk
      blkcg: alloc per cpu stats from worker thread in a delayed manner

 Documentation/feature-removal-schedule.txt |    9 +
 block/Kconfig.iosched                      |    4 -
 block/blk-cgroup.c                         | 2109 +++++++++-------------------
 block/blk-cgroup.h                         |  647 ++++-----
 block/blk-core.c                           |  281 ++--
 block/blk-ioc.c                            |  126 +-
 block/blk-sysfs.c                          |    6 +-
 block/blk-throttle.c                       |  697 +++++----
 block/blk.h                                |   32 +-
 block/cfq-iosched.c                        | 1072 +++++++++-----
 block/cfq.h                                |  115 --
 block/deadline-iosched.c                   |    8 +-
 block/elevator.c                           |  121 +-
 block/noop-iosched.c                       |    8 +-
 fs/bio.c                                   |   61 +
 fs/ioprio.c                                |    2 +-
 fs/splice.c                                |    4 +-
 include/linux/bio.h                        |    8 +
 include/linux/blk_types.h                  |   10 +
 include/linux/blkdev.h                     |   20 +-
 include/linux/cgroup.h                     |   80 +-
 include/linux/elevator.h                   |    8 +-
 include/linux/iocontext.h                  |   39 +-
 include/linux/ioprio.h                     |   22 +-
 init/Kconfig                               |    2 +-
 kernel/cgroup.c                            |  550 ++++++--
 kernel/cgroup_freezer.c                    |   11 +-
 kernel/cpuset.c                            |   31 +-
 kernel/fork.c                              |    5 +-
 kernel/sched/core.c                        |   16 +-
 mm/memcontrol.c                            |   78 +-
 net/core/netprio_cgroup.c                  |   30 +-
 net/ipv4/tcp_memcontrol.c                  |   71 +-
 net/sched/cls_cgroup.c                     |   31 +-
 security/device_cgroup.c                   |   10 +-
 35 files changed, 3033 insertions(+), 3291 deletions(-)
 delete mode 100644 block/cfq.h

-- 
Jens Axboe


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2012-05-30 12:51 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-05-30 12:50 [GIT PULL] Block/IO core bits for 3.5 Jens Axboe

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.