Re: [PATCH 4/5] blk-mq: do limited block plug for multiple queue case

2015-05-04 Thread Jens Axboe
On 05/04/2015 02:33 PM, Shaohua Li wrote: On Mon, May 04, 2015 at 01:46:49PM -0600, Jens Axboe wrote: On 05/04/2015 01:40 PM, Shaohua Li wrote: On Fri, May 01, 2015 at 04:16:04PM -0400, Jeff Moyer wrote: Shaohua Li writes: plug is still helpful for workload with IO merge, but it can be harm

Re: [PATCH 4/5] blk-mq: do limited block plug for multiple queue case

2015-05-04 Thread Shaohua Li
On Mon, May 04, 2015 at 01:46:49PM -0600, Jens Axboe wrote: > On 05/04/2015 01:40 PM, Shaohua Li wrote: > >On Fri, May 01, 2015 at 04:16:04PM -0400, Jeff Moyer wrote: > >>Shaohua Li writes: > >> > >>>plug is still helpful for workload with IO merge, but it can be harmful > >>>otherwise especially

Re: [PATCH 4/5] blk-mq: do limited block plug for multiple queue case

2015-05-04 Thread Jens Axboe
On 05/04/2015 01:40 PM, Shaohua Li wrote: On Fri, May 01, 2015 at 04:16:04PM -0400, Jeff Moyer wrote: Shaohua Li writes: plug is still helpful for workload with IO merge, but it can be harmful otherwise especially with multiple hardware queues, as there is (supposed) no lock contention in thi

Re: [PATCH 4/5] blk-mq: do limited block plug for multiple queue case

2015-05-04 Thread Shaohua Li
old_rq = rq; > > + blk_mq_put_ctx(data.ctx); > > + if (!old_rq) > > + return; > > + if (!blk_mq_direct_issue_request(old_rq)) > > + return; > > + blk_mq_insert_request(old_rq, false, true,

Re: [PATCH 4/5] blk-mq: do limited block plug for multiple queue case

2015-05-01 Thread Jeff Moyer
Shaohua Li writes: > plug is still helpful for workload with IO merge, but it can be harmful > otherwise especially with multiple hardware queues, as there is > (supposed) no lock contention in this case and plug can introduce > latency. For multiple queues, we do limited plug, eg plug only if th

[PATCH 4/5] blk-mq: do limited block plug for multiple queue case

2015-04-30 Thread Shaohua Li
plug is still helpful for workload with IO merge, but it can be harmful otherwise especially with multiple hardware queues, as there is (supposed) no lock contention in this case and plug can introduce latency. For multiple queues, we do limited plug, eg plug only if there is request merge. If a re