Re: [RFC PATCH 3/3] blk-mq: Remove generation seqeunce

2018-07-18 Thread Keith Busch
On Wed, Jul 18, 2018 at 10:39:36PM +0200, h...@lst.de wrote: > On Wed, Jul 18, 2018 at 09:56:50PM +0200, h...@lst.de wrote: > > On Fri, Jul 13, 2018 at 05:58:08PM -0600, Keith Busch wrote: > > > Of the two you mentioned, yours is preferable IMO. While I appreciate > > > Jianchao's detailed

Re: [PATCH 2/3] block, scsi: Rework runtime power management

2018-07-18 Thread Ming Lei
On Wed, Jul 18, 2018 at 03:45:15PM +, Bart Van Assche wrote: > On Wed, 2018-07-18 at 20:16 +0800, Ming Lei wrote: > > On Wed, Jul 18, 2018 at 7:49 AM, Bart Van Assche > > wrote: > > > @@ -3801,8 +3778,11 @@ int blk_pre_runtime_suspend(struct request_queue > > > *q) > > > if

Re: [RFC PATCH 3/3] blk-mq: Remove generation seqeunce

2018-07-18 Thread Keith Busch
On Wed, Jul 18, 2018 at 09:30:11PM +, Bart Van Assche wrote: > On Wed, 2018-07-18 at 15:17 -0600, Keith Busch wrote: > > There are not that many blk-mq drivers, so we can go through them all. > > I'm not sure that's the right approach. I think it is the responsibility of > the block layer to

Re: [RFC PATCH 3/3] blk-mq: Remove generation seqeunce

2018-07-18 Thread Bart Van Assche
On Wed, 2018-07-18 at 15:17 -0600, Keith Busch wrote: > There are not that many blk-mq drivers, so we can go through them all. I'm not sure that's the right approach. I think it is the responsibility of the block layer to handle races between completion handling and timeout handling and that this

Re: [RFC PATCH 3/3] blk-mq: Remove generation seqeunce

2018-07-18 Thread Keith Busch
On Wed, Jul 18, 2018 at 08:58:48PM +, Bart Van Assche wrote: > On Wed, 2018-07-18 at 14:53 -0600, Keith Busch wrote: > > If scsi needs this behavior, why not just put that behavior in scsi? It > > can set the state to complete and then everything can play out as > > before. > > [ ... ] > >

Re: [RFC PATCH 3/3] blk-mq: Remove generation seqeunce

2018-07-18 Thread Bart Van Assche
On Wed, 2018-07-18 at 22:39 +0200, h...@lst.de wrote: > On Wed, Jul 18, 2018 at 09:56:50PM +0200, h...@lst.de wrote: > > The important bit is that we need to fix this issue quickly. We are > > past -rc5 so I'm rather concerned about anything too complicated. > > > > I'm not even sure SCSI has a

Re: [RFC PATCH 3/3] blk-mq: Remove generation seqeunce

2018-07-18 Thread Bart Van Assche
On Wed, 2018-07-18 at 14:53 -0600, Keith Busch wrote: > If scsi needs this behavior, why not just put that behavior in scsi? It > can set the state to complete and then everything can play out as > before. > [ ... ] There may be other drivers that need the same protection the SCSI core needs so I

Re: [RFC PATCH 3/3] blk-mq: Remove generation seqeunce

2018-07-18 Thread Keith Busch
On Wed, Jul 18, 2018 at 09:56:50PM +0200, h...@lst.de wrote: > On Fri, Jul 13, 2018 at 05:58:08PM -0600, Keith Busch wrote: > > Of the two you mentioned, yours is preferable IMO. While I appreciate > > Jianchao's detailed analysis, it's hard to take a proposal seriously > > that so colourfully

Re: [RFC PATCH 3/3] blk-mq: Remove generation seqeunce

2018-07-18 Thread h...@lst.de
On Wed, Jul 18, 2018 at 09:56:50PM +0200, h...@lst.de wrote: > On Fri, Jul 13, 2018 at 05:58:08PM -0600, Keith Busch wrote: > > Of the two you mentioned, yours is preferable IMO. While I appreciate > > Jianchao's detailed analysis, it's hard to take a proposal seriously > > that so colourfully

Re: [RFC PATCH 3/3] blk-mq: Remove generation seqeunce

2018-07-18 Thread h...@lst.de
On Fri, Jul 13, 2018 at 05:58:08PM -0600, Keith Busch wrote: > Of the two you mentioned, yours is preferable IMO. While I appreciate > Jianchao's detailed analysis, it's hard to take a proposal seriously > that so colourfully calls everyone else "dangerous" while advocating > for silently losing

Re: [RFC PATCH] blk-mq: move timeout handling from queue to tagset

2018-07-18 Thread Bart Van Assche
On Wed, 2018-07-18 at 11:45 -0600, Keith Busch wrote: > On Wed, Jul 18, 2018 at 05:18:45PM +, Bart Van Assche wrote: > > On Wed, 2018-07-18 at 11:00 -0600, Keith Busch wrote: > > > - cancel_work_sync(>timeout_work); > > > - > > > if (q->mq_ops) { > > > struct blk_mq_hw_ctx *hctx; >

Re: [RFC PATCH] blk-mq: move timeout handling from queue to tagset

2018-07-18 Thread Keith Busch
On Wed, Jul 18, 2018 at 05:18:45PM +, Bart Van Assche wrote: > On Wed, 2018-07-18 at 11:00 -0600, Keith Busch wrote: > > - cancel_work_sync(>timeout_work); > > - > > if (q->mq_ops) { > > struct blk_mq_hw_ctx *hctx; > > int i; > > @@ -415,6 +412,8 @@ void

Re: [RFC PATCH] blk-mq: move timeout handling from queue to tagset

2018-07-18 Thread Bart Van Assche
On Wed, 2018-07-18 at 11:00 -0600, Keith Busch wrote: > void blk_sync_queue(struct request_queue *q) > { > - del_timer_sync(>timeout); > - cancel_work_sync(>timeout_work); > - > if (q->mq_ops) { > struct blk_mq_hw_ctx *hctx; > int i; > @@ -415,6 +412,8

[RFC PATCH] blk-mq: move timeout handling from queue to tagset

2018-07-18 Thread Keith Busch
This patch removes the per-request_queue timeout handling and uses the tagset instead. This simplifies the timeout handling since a shared tag set can handle all timed out requests in a single work queue rather than iterate the same set in different work for all the users of that set. The long

Re: [PATCH 2/3] block, scsi: Rework runtime power management

2018-07-18 Thread Bart Van Assche
On Wed, 2018-07-18 at 20:16 +0800, Ming Lei wrote: > On Wed, Jul 18, 2018 at 7:49 AM, Bart Van Assche > wrote: > > @@ -3801,8 +3778,11 @@ int blk_pre_runtime_suspend(struct request_queue *q) > > if (!q->dev) > > return ret; > > > > + blk_set_preempt_only(q); > > +

Re: Silent data corruption in blkdev_direct_IO()

2018-07-18 Thread Jan Kara
On Wed 18-07-18 13:40:07, Jan Kara wrote: > On Wed 18-07-18 11:20:15, Johannes Thumshirn wrote: > > On Wed, Jul 18, 2018 at 03:54:46PM +0800, Ming Lei wrote: > > > Please go ahead and take care of it since you have the test cases. > > > > Speaking of which, do we already know how it is triggered

Re: Silent data corruption in blkdev_direct_IO()

2018-07-18 Thread Jan Kara
On Wed 18-07-18 11:20:15, Johannes Thumshirn wrote: > On Wed, Jul 18, 2018 at 03:54:46PM +0800, Ming Lei wrote: > > Please go ahead and take care of it since you have the test cases. > > Speaking of which, do we already know how it is triggered and can we > cook up a blktests testcase for it?

Re: Silent data corruption in blkdev_direct_IO()

2018-07-18 Thread Johannes Thumshirn
On Wed, Jul 18, 2018 at 03:54:46PM +0800, Ming Lei wrote: > Please go ahead and take care of it since you have the test cases. Speaking of which, do we already know how it is triggered and can we cook up a blktests testcase for it? This would be more than helpful for all parties. Thanks,

Re: Silent data corruption in blkdev_direct_IO()

2018-07-18 Thread Ming Lei
On Wed, Jul 18, 2018 at 09:32:12AM +0200, Martin Wilck wrote: > On Wed, 2018-07-18 at 10:48 +0800, Ming Lei wrote: > > On Wed, Jul 18, 2018 at 02:07:28AM +0200, Martin Wilck wrote: > > > > > > From b75adc856119346e02126cf8975755300f2d9b7f Mon Sep 17 00:00:00 > > > 2001 > > > From: Martin Wilck >

Re: Silent data corruption in blkdev_direct_IO()

2018-07-18 Thread Martin Wilck
On Wed, 2018-07-18 at 10:48 +0800, Ming Lei wrote: > On Wed, Jul 18, 2018 at 02:07:28AM +0200, Martin Wilck wrote: > > > > From b75adc856119346e02126cf8975755300f2d9b7f Mon Sep 17 00:00:00 > > 2001 > > From: Martin Wilck > > Date: Wed, 18 Jul 2018 01:56:37 +0200 > > Subject: [PATCH] block:

Re: [PATCH 1/3] block: Fix a comment in a header file

2018-07-18 Thread Johannes Thumshirn
Looks good, Reviewed-by: Johannes Thumshirn -- Johannes Thumshirn Storage jthumsh...@suse.de+49 911 74053 689 SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg GF: Felix Imendörffer, Jane Smithard, Graham Norton HRB 21284 (AG