All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCHSET v2] block: IO polling improvements
@ 2016-11-03 19:45 Jens Axboe
  2016-11-03 19:45 ` [PATCH 1/5] block: fast-path for small and simple direct I/O requests Jens Axboe
                   ` (4 more replies)
  0 siblings, 5 replies; 9+ messages in thread
From: Jens Axboe @ 2016-11-03 19:45 UTC (permalink / raw)
  To: axboe, linux-kernel, linux-block; +Cc: hch

Fixed a few bugs in this, and addressed some review comments. Patches
are against my 4.10 block branch, for-4.10/block.

Some performance results, running random reads against a fast device,
using either IRQ driven completions, classic polled, or the new hybrid
polled:

Method		IOPS		CPU%		IOPS/CPU%
=========================================================
IRQ		476K		48.45%		 9843
Poll		897K		99.9%		 8982
Hybrid		836K		68.1%		12273

Classic polling is still a bit faster, but is uses a lot more CPU. The
rightmost column is an efficiency metric, and with the new hybrid
scheme, we're both faster and more efficient than IRQ driven. We should
be able to close the speed gap as well, so you can have your cake and
eat it too.

I've adjusted the default, so that classic polling is the default poll
method. To enable hybrid polling for a device, you would do:

# echo 0 > /sys/block/<dev>/queue/io_poll_delay

Also see the last patch for the other values this can be set to.

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2016-11-04 15:30 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-11-03 19:45 [PATCHSET v2] block: IO polling improvements Jens Axboe
2016-11-03 19:45 ` [PATCH 1/5] block: fast-path for small and simple direct I/O requests Jens Axboe
2016-11-03 19:45 ` [PATCH 2/5] block: add scalable completion tracking of requests Jens Axboe
2016-11-03 19:45 ` [PATCH 3/5] block: move poll code to blk-mq Jens Axboe
2016-11-04 14:44   ` Christoph Hellwig
2016-11-04 15:30     ` Jens Axboe
2016-11-04 15:30       ` Jens Axboe
2016-11-03 19:45 ` [PATCH 4/5] blk-mq: implement hybrid poll mode for sync O_DIRECT Jens Axboe
2016-11-03 19:45 ` [PATCH 5/5] blk-mq: make the polling code adaptive 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.