This repository has been archived on 2026-03-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
ubports_kernel_google_msm/fs
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
..
2010-06-16 18:05:05 +02:00
2010-08-09 16:48:53 -04:00
2010-08-18 01:01:33 -04:00
2010-05-19 22:41:57 -04:00
2010-08-05 14:23:45 -05:00
2010-08-09 16:48:45 -04:00
2010-08-18 01:09:01 -04:00
2010-08-18 06:21:10 -04:00
2010-08-09 16:48:17 -04:00
2010-08-09 16:48:16 -04:00
2010-08-09 16:47:49 -04:00
2010-08-14 00:24:24 +02:00
2010-08-09 16:47:31 -04:00
2010-08-18 01:09:01 -04:00
2010-01-26 22:22:26 -05:00
2010-08-09 16:48:00 -04:00
2010-08-18 01:09:01 -04:00
2010-08-05 13:21:23 -07:00
2010-08-18 01:09:01 -04:00
2010-08-18 08:35:48 -04:00
2010-05-11 17:43:58 +02:00
2010-08-11 08:59:02 -07:00
2010-08-18 08:35:48 -04:00
2010-08-18 08:35:46 -04:00
2010-08-12 08:43:30 -07:00
2010-08-18 08:35:48 -04:00
2010-03-08 16:55:37 +01:00
2010-05-21 18:31:17 -04:00
2010-08-18 08:35:48 -04:00
2010-08-18 08:35:48 -04:00
2010-08-18 08:35:47 -04:00
2010-06-10 19:08:34 +02:00
2010-08-18 08:35:48 -04:00
2010-03-12 15:52:32 -08:00
2010-08-09 16:48:44 -04:00
2010-08-18 08:35:48 -04:00
2010-08-09 16:47:43 -04:00