Re: [PATCH 3/4] blk-mq: implement hybrid poll mode for sync O_DIRECT

From: Christoph Hellwig
Date: Wed Nov 02 2016 - 10:55:10 EST


On Tue, Nov 01, 2016 at 03:05:24PM -0600, Jens Axboe wrote:
> This patch enables a hybrid polling mode. Instead of polling after IO
> submission, we can induce an artificial delay, and then poll after that.
> For example, if the IO is presumed to complete in 8 usecs from now, we
> can sleep for 4 usecs, wake up, and then do our polling. This still puts
> a sleep/wakeup cycle in the IO path, but instead of the wakeup happening
> after the IO has completed, it'll happen before. With this hybrid
> scheme, we can achieve big latency reductions while still using the same
> (or less) amount of CPU.
>
> Signed-off-by: Jens Axboe <axboe@xxxxxx>

This looks very nice. I'll need to run some tests before giving the
formal ACK, though.