Vivek Goyal
de701c74a3
blk-throttle: Some cleanups and race fixes in limit update code
...
When throttle group limits are updated through cgroups, a thread is
woken up to process these updates. While reviewing that code, oleg noted
couple of race conditions existed in the code and he also suggested that
code can be simplified.
This patch fixes the races simplifies the code based on Oleg's suggestions:
- Use xchg().
- Introduced a common function throtl_update_blkio_group_common()
which is shared now by all iops/bps update functions.
Reviewed-by: Oleg Nesterov <oleg@redhat.com>
Reviewed-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
Fixed a merge issue, throtl_schedule_delayed_work() takes throtl_data
as the argument now, not the queue.
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
2011-03-07 21:09:32 +01:00
..
blk-cgroup.c
blk-cgroup: Allow creation of hierarchical cgroups
2010-11-15 19:37:36 +01:00
blk-cgroup.h
blkio-throttle: limit max iops value to UINT_MAX
2010-10-01 21:16:41 +02:00
blk-core.c
Merge branch 'for-linus' of ../linux-2.6-block into block-for-2.6.39/core
2011-03-04 19:09:02 +01:00
blk-exec.c
block: Prevent hang_check firing during long I/O
2010-09-24 15:52:09 +02:00
blk-flush.c
Merge branch 'for-linus' of ../linux-2.6-block into block-for-2.6.39/core
2011-03-04 19:09:02 +01:00
blk-integrity.c
block: Fix double free in blk_integrity_unregister
2010-10-15 15:49:18 +02:00
blk-ioc.c
block: Clean up exit_io_context() source code.
2010-12-21 15:07:45 +01:00
blk-iopoll.c
blk-lib.c
block: fix kernel-doc format for blkdev_issue_zeroout
2011-03-01 13:45:24 -05:00
blk-map.c
block: check for proper length of iov entries earlier in blk_rq_map_user_iov()
2010-11-29 10:04:50 +01:00
blk-merge.c
Merge branch 'for-2.6.38/core' of git://git.kernel.dk/linux-2.6-block
2011-01-13 10:45:01 -08:00
blk-settings.c
block: Initialize ->queue_lock to internal lock at queue allocation time
2011-03-02 19:06:49 -05:00
blk-softirq.c
blk-sysfs.c
block: Move blk_throtl_exit() call to blk_cleanup_queue()
2011-03-02 19:06:49 -05:00
blk-tag.c
include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
2010-03-30 22:02:32 +09:00
blk-throttle.c
blk-throttle: Some cleanups and race fixes in limit update code
2011-03-07 21:09:32 +01:00
blk-timeout.c
block: ensure jiffies wrap is handled correctly in blk_rq_timed_out_timer
2010-04-21 17:42:08 +02:00
blk.h
block: reimplement FLUSH/FUA to support merge
2011-01-25 12:43:54 +01:00
bsg.c
[SCSI] bsg: correct fault if queue object removed while dev_t open
2010-12-09 09:41:14 -06:00
cfq-iosched.c
Merge branch 'block-for-2.6.39-core' of ssh://master.kernel.org/pub/scm/linux/kernel/git/tj/misc into for-2.6.39/core
2011-03-07 09:40:21 +01:00
cfq.h
blk-cgroup: Prepare the base for supporting more than one IO control policies
2010-09-16 08:42:04 +02:00
compat_ioctl.c
BKL: remove extraneous #include <smp_lock.h>
2010-11-17 08:59:32 -08:00
deadline-iosched.c
elevator.c
Merge branch 'for-linus' of ../linux-2.6-block into block-for-2.6.39/core
2011-03-04 19:09:02 +01:00
genhd.c
Merge branch 'for-linus' of ../linux-2.6-block into block-for-2.6.39/core
2011-03-04 19:09:02 +01:00
ioctl.c
block: fix refcounting in BLKBSZSET
2011-02-24 08:54:21 -08:00
Kconfig
kconfig: rename CONFIG_EMBEDDED to CONFIG_EXPERT
2011-01-20 17:02:05 -08:00
Kconfig.iosched
blk-cgroup: config options re-arrangement
2010-04-26 19:27:56 +02:00
Makefile
Merge branch 'for-2.6.37/barrier' of git://git.kernel.dk/linux-2.6-block
2010-10-22 17:07:18 -07:00
noop-iosched.c
include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
2010-03-30 22:02:32 +09:00
scsi_ioctl.c
block: take care not to overflow when calculating total iov length
2010-11-10 14:40:42 +01:00