dect
/
linux-2.6
Archived
13
0
Fork 0
This repository has been archived on 2022-02-17. You can view files and clone it, but cannot push or open issues or pull requests.
linux-2.6/block
Corrado Zoccolo 749ef9f842 cfq: improve fsync performance for small files
Fsync performance for small files achieved by cfq on high-end disks is
lower than what deadline can achieve, due to idling introduced between
the sync write happening in process context and the journal commit.

Moreover, when competing with a sequential reader, a process writing
small files and fsync-ing them is starved.

This patch fixes the two problems by:
- marking journal commits as WRITE_SYNC, so that they get the REQ_NOIDLE
  flag set,
- force all queues that have REQ_NOIDLE requests to be put in the noidle
  tree.

Having the queue associated to the fsync-ing process and the one associated
 to journal commits in the noidle tree allows:
- switching between them without idling,
- fairness vs. competing idling queues, since they will be serviced only
  after the noidle tree expires its slice.

Acked-by: Vivek Goyal <vgoyal@redhat.com>
Reviewed-by: Jeff Moyer <jmoyer@redhat.com>
Tested-by: Jeff Moyer <jmoyer@redhat.com>
Signed-off-by: Corrado Zoccolo <czoccolo@gmail.com>
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
2010-09-20 15:24:50 +02:00
..
Kconfig blkio: Core implementation of throttle policy 2010-09-16 08:42:52 +02:00
Kconfig.iosched blk-cgroup: config options re-arrangement 2010-04-26 19:27:56 +02:00
Makefile blkio: Core implementation of throttle policy 2010-09-16 08:42:52 +02:00
blk-barrier.c block: set up rq->rq_disk properly for flush requests 2010-08-07 18:52:41 +02:00
blk-cgroup.c blk-cgroup: cgroup changes for IOPS limit support 2010-09-16 08:42:58 +02:00
blk-cgroup.h blk-cgroup: cgroup changes for IOPS limit support 2010-09-16 08:42:58 +02:00
blk-core.c blkio: Core implementation of throttle policy 2010-09-16 08:42:52 +02:00
blk-exec.c block: remove wrappers for request type/flags 2010-08-07 18:17:56 +02:00
blk-integrity.c block/scsi: Provide a limit on the number of integrity segments 2010-09-10 20:50:10 +02:00
blk-ioc.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-iopoll.c tree-wide: fix assorted typos all over the place 2009-12-04 15:39:55 +01:00
blk-lib.c block: add secure discard 2010-08-12 08:43:30 -07:00
blk-map.c block: fix an address space warning in blk-map.c 2010-09-15 13:08:27 +02:00
blk-merge.c block/scsi: Provide a limit on the number of integrity segments 2010-09-10 20:50:10 +02:00
blk-settings.c block/scsi: Provide a limit on the number of integrity segments 2010-09-10 20:50:10 +02:00
blk-softirq.c generic-ipi: remove CSD_FLAG_WAIT 2009-02-25 14:13:44 +01:00
blk-sysfs.c block/scsi: Provide a limit on the number of integrity segments 2010-09-10 20:50:10 +02: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 blkio: Implementation of IOPS limit logic 2010-09-16 08:44:00 +02: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/scsi: Provide a limit on the number of integrity segments 2010-09-10 20:50:10 +02:00
bsg.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
cfq-iosched.c cfq: improve fsync performance for small files 2010-09-20 15:24:50 +02: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 block: add secure discard 2010-08-12 08:43:30 -07:00
deadline-iosched.c block: convert to pos and nr_sectors accessors 2009-05-11 09:50:54 +02:00
elevator.c block: add secure discard 2010-08-12 08:43:30 -07:00
genhd.c block: Fix race during disk initialization 2010-09-16 20:36:36 +02:00
ioctl.c block, partition: add partition_meta_info to hd_struct 2010-09-15 16:13:18 +02: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/scsi_ioctl.c: quiet sparse noise 2009-11-04 09:10:33 +01:00