Re: [PATCH 3/3] block: Polling completion performance optimization

2017-12-31 Thread Sagi Grimberg
On 12/29/2017 11:50 AM, Christoph Hellwig wrote: On Thu, Dec 21, 2017 at 02:34:00PM -0700, Keith Busch wrote: It would be nice, but the driver doesn't know a request's completion is going to be a polled. We can trivially set a REQ_POLL bit. In fact my initial patch kit had those on the

Re: [PATCH 3/3] block: Polling completion performance optimization

2017-12-29 Thread Christoph Hellwig
On Thu, Dec 21, 2017 at 02:34:00PM -0700, Keith Busch wrote: > It would be nice, but the driver doesn't know a request's completion > is going to be a polled. We can trivially set a REQ_POLL bit. In fact my initial patch kit had those on the insitence of Jens, but then I removed it because we

Re: [PATCH 3/3] block: Polling completion performance optimization

2017-12-22 Thread Jens Axboe
On 12/21/17 4:10 PM, Keith Busch wrote: > On Thu, Dec 21, 2017 at 03:17:41PM -0700, Jens Axboe wrote: >> On 12/21/17 2:34 PM, Keith Busch wrote: >>> It would be nice, but the driver doesn't know a request's completion >>> is going to be a polled. >> >> That's trivially solvable though, since the

Re: [PATCH 3/3] block: Polling completion performance optimization

2017-12-21 Thread Keith Busch
On Thu, Dec 21, 2017 at 03:17:41PM -0700, Jens Axboe wrote: > On 12/21/17 2:34 PM, Keith Busch wrote: > > It would be nice, but the driver doesn't know a request's completion > > is going to be a polled. > > That's trivially solvable though, since the information is available > at submission

Re: [PATCH 3/3] block: Polling completion performance optimization

2017-12-21 Thread Jens Axboe
On 12/21/17 2:34 PM, Keith Busch wrote: > On Thu, Dec 21, 2017 at 02:00:04PM -0700, Jens Axboe wrote: >> On 12/21/17 1:56 PM, Scott Bauer wrote: >>> On 12/21/2017 01:46 PM, Keith Busch wrote: @@ -181,7 +181,10 @@ static void blkdev_bio_end_io_simple(struct bio *bio) struct task_struct

Re: [PATCH 3/3] block: Polling completion performance optimization

2017-12-21 Thread Keith Busch
On Thu, Dec 21, 2017 at 02:00:04PM -0700, Jens Axboe wrote: > On 12/21/17 1:56 PM, Scott Bauer wrote: > > On 12/21/2017 01:46 PM, Keith Busch wrote: > >> @@ -181,7 +181,10 @@ static void blkdev_bio_end_io_simple(struct bio *bio) > >>struct task_struct *waiter = bio->bi_private; > >> > >>

Re: [PATCH 3/3] block: Polling completion performance optimization

2017-12-21 Thread Scott Bauer
On 12/21/2017 01:46 PM, Keith Busch wrote: > When a request completion is polled, the completion task wakes itself > up. This is unnecessary, as the task can just set itself back to > running. > > Signed-off-by: Keith Busch > --- > fs/block_dev.c | 5 - > 1 file

Re: [PATCH 3/3] block: Polling completion performance optimization

2017-12-21 Thread Jens Axboe
On 12/21/17 1:56 PM, Scott Bauer wrote: > > > On 12/21/2017 01:46 PM, Keith Busch wrote: >> When a request completion is polled, the completion task wakes itself >> up. This is unnecessary, as the task can just set itself back to >> running. >> >> Signed-off-by: Keith Busch

[PATCH 3/3] block: Polling completion performance optimization

2017-12-21 Thread Keith Busch
When a request completion is polled, the completion task wakes itself up. This is unnecessary, as the task can just set itself back to running. Signed-off-by: Keith Busch --- fs/block_dev.c | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) diff --git