Jeff Moyer
080d676de0
aio: allocate kiocbs in batches
...
In testing aio on a fast storage device, I found that the context lock
takes up a fair amount of cpu time in the I/O submission path. The reason
is that we take it for every I/O submitted (see __aio_get_req). Since we
know how many I/Os are passed to io_submit, we can preallocate the kiocbs
in batches, reducing the number of times we take and release the lock.
In my testing, I was able to reduce the amount of time spent in
_raw_spin_lock_irq by .56% (average of 3 runs). The command I used to
test this was:
aio-stress -O -o 2 -o 3 -r 8 -d 128 -b 32 -i 32 -s 16384 <dev>
I also tested the patch with various numbers of events passed to
io_submit, and I ran the xfstests aio group of tests to ensure I didn't
break anything.
Signed-off-by: Jeff Moyer <jmoyer@redhat.com >
Cc: Daniel Ehrenberg <dehrenberg@google.com >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2011-11-02 16:07:03 -07:00
..
2011-10-26 23:15:28 +02:00
2011-10-17 19:22:46 -04:00
2011-10-28 16:42:18 -07:00
2011-10-11 20:56:41 -07:00
2011-10-18 21:26:55 -07:00
2011-11-01 15:06:20 -07:00
2011-11-01 10:51:38 -07:00
2011-10-27 09:11:34 -04:00
2011-10-20 11:41:49 +02:00
2011-10-31 17:30:55 -07:00
2011-11-01 15:06:20 -07:00
2011-10-31 17:30:54 -07:00
2011-10-25 15:44:06 +02:00
2011-10-31 15:42:54 -07:00
2011-11-02 16:07:03 -07:00
2011-10-26 15:43:26 -04:00
2011-10-26 15:43:25 -04:00
2011-10-31 17:30:54 -07:00
2011-10-31 17:30:54 -07:00
2011-10-17 19:22:46 -04:00
2011-10-20 18:21:36 -04:00
2011-10-13 14:36:58 +01:00
2011-10-31 17:30:49 -07:00
2011-10-31 17:30:44 -07:00
2011-10-30 15:16:41 +01:00
2011-10-21 14:24:01 +02:00
2011-10-21 14:24:07 +02:00
2011-10-31 17:30:54 -07:00
2011-11-02 16:07:02 -07:00
2011-10-31 17:30:44 -07:00
2011-10-31 17:30:54 -07:00
2011-10-30 15:16:43 +01:00
2011-10-31 17:30:54 -07:00
2011-10-19 19:35:51 -04:00
2011-10-28 10:43:32 -07:00
2011-10-31 17:30:54 -07:00
2011-10-31 17:30:54 -07:00
2011-10-31 17:30:54 -07:00
2011-10-24 16:04:06 +02:00
2011-10-25 09:59:04 +02:00
2011-10-31 17:30:48 -07:00
2011-10-11 09:51:22 -06:00
2011-10-29 09:37:09 +01:00
2011-10-30 13:47:25 +01:00
2011-10-11 15:35:42 -04:00
2011-10-16 13:15:38 -07:00
2011-10-21 02:53:07 -04:00
2011-10-30 04:43:30 -04:00
2011-10-12 19:09:18 -04:00
2011-10-28 14:25:01 -07:00
2011-10-26 16:17:32 +02:00
2011-10-17 11:42:49 +02:00
2011-10-28 05:54:23 -07:00
2011-10-21 14:38:55 +02:00
2011-10-31 14:03:23 +01:00
2011-10-31 17:30:54 -07:00
2011-10-31 17:30:54 -07:00
2011-10-31 17:30:57 -07:00
2011-10-31 17:46:07 -07:00
2011-10-31 17:30:54 -07:00
2011-10-31 17:30:54 -07:00
2011-10-31 17:30:54 -07:00
2011-10-30 12:24:05 +02:00
2011-10-31 17:30:54 -07:00
2011-10-31 17:30:52 -07:00
2011-10-31 17:30:57 -07:00
2011-11-02 16:06:59 -07:00
2011-10-31 17:30:47 -07:00
2011-11-02 16:07:00 -07:00
2011-11-02 16:06:57 -07:00
2011-11-02 16:06:58 -07:00
2011-10-31 17:30:54 -07:00
2011-10-31 17:30:47 -07:00
2011-10-26 13:10:39 +10:30
2011-10-19 17:00:35 -04:00
2011-10-31 17:30:54 -07:00
2011-11-01 09:24:41 -07:00
2011-10-19 11:52:12 -04:00
2011-10-18 09:14:34 -07:00
2011-10-19 13:58:38 -07:00
2011-10-19 13:37:34 -07:00
2011-10-14 14:48:23 -04:00
2011-10-31 14:03:22 +01:00
2011-11-01 20:58:25 -07:00
2011-10-31 17:30:45 -07:00
2011-10-14 09:05:27 -07:00
2011-10-14 09:05:35 -07:00
2011-10-14 09:05:35 -07:00
2011-10-28 14:20:44 -07:00
2011-10-24 02:54:50 -04:00
2011-10-29 07:28:36 -07:00
2011-10-22 00:21:52 +02:00
2011-11-02 16:07:02 -07:00
2011-10-31 17:30:54 -07:00
2011-10-12 09:17:24 -07:00
2011-10-31 17:30:54 -07:00
2011-10-28 05:29:07 -07:00
2011-11-02 16:07:01 -07:00
2011-10-26 17:08:43 +02:00
2011-11-02 16:07:01 -07:00
2011-10-31 17:30:54 -07:00
2011-10-31 17:30:49 -07:00
2011-10-24 18:18:09 -04:00
2011-10-31 17:30:47 -07:00
2011-10-16 23:28:51 +02:00
2011-10-31 17:30:44 -07:00
2011-10-31 17:30:44 -07:00
2011-11-02 16:07:02 -07:00
2011-10-19 19:24:14 -04:00
2011-10-31 17:30:54 -07:00
2011-10-26 15:11:09 +02:00
2011-10-12 21:13:11 -07:00
2011-10-18 11:18:57 -07:00
2011-11-02 16:07:02 -07:00
2011-10-24 02:07:21 -04:00
2011-10-31 17:30:47 -07:00