diff for duplicates of <1499872355.2554.1.camel@wdc.com> diff --git a/a/1.txt b/N1/1.txt index ada9ee7..6c3cf0e 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -4,7 +4,7 @@ On Wed, 2017-07-12 at 11:15 +0800, Ming Lei wrote: > > > Now SCSI won't stop queue, and not necessary to use > > > blk_mq_start_hw_queues(), so switch to blk_mq_run_hw_queues() > > > instead. -> > >=20 +> > > > > > Cc: "James E.J. Bottomley" <jejb@linux.vnet.ibm.com> > > > Cc: "Martin K. Petersen" <martin.petersen@oracle.com> > > > Cc: linux-scsi@vger.kernel.org @@ -12,7 +12,7 @@ On Wed, 2017-07-12 at 11:15 +0800, Ming Lei wrote: > > > --- > > > drivers/scsi/scsi_lib.c | 2 +- > > > 1 file changed, 1 insertion(+), 1 deletion(-) -> > >=20 +> > > > > > diff --git a/drivers/scsi/scsi_lib.c b/drivers/scsi/scsi_lib.c > > > index f6097b89d5d3..91d890356b78 100644 > > > --- a/drivers/scsi/scsi_lib.c @@ -26,35 +26,27 @@ On Wed, 2017-07-12 at 11:15 +0800, Ming Lei wrote: > > > else > > > blk_run_queue(q); > > > } -> >=20 +> > > > Hello Ming, -> >=20 -> > Now that we have separate flags to represent the "stopped" and "quiesce= -d" -> > states, wouldn't it be better not to modify scsi_kick_queue() but inste= -ad to -> > stop a SCSI hardware queue again if scsi_queue_rq() returns BLK_STS_RES= -OURCE? -> > See also commits 36e3cf273977 ("scsi: Avoid that SCSI queues get stuck"= -) and -> > commit 52d7f1b5c2f3 ("blk-mq: Avoid that requeueing starts stopped queu= -es"). ->=20 +> > +> > Now that we have separate flags to represent the "stopped" and "quiesced" +> > states, wouldn't it be better not to modify scsi_kick_queue() but instead to +> > stop a SCSI hardware queue again if scsi_queue_rq() returns BLK_STS_RESOURCE? +> > See also commits 36e3cf273977 ("scsi: Avoid that SCSI queues get stuck") and +> > commit 52d7f1b5c2f3 ("blk-mq: Avoid that requeueing starts stopped queues"). +> > As you can see in the following patches, all stop/start queue APIs will > be removed, and the 'stopped' state will become a internal state. ->=20 +> > It doesn't make sense to clear 'stopped' for scsi anymore, since the > queue won't be stopped actually. So we need this change. Hello Ming, -As Jens already noticed, this approach won't work properly for concurrent I= -/O -to multiple LUNs associated with the same SCSI host. This approach won't wo= -rk -properly for dm-mpath either. Sorry but I'm not convinced that it's possibl= -e +As Jens already noticed, this approach won't work properly for concurrent I/O +to multiple LUNs associated with the same SCSI host. This approach won't work +properly for dm-mpath either. Sorry but I'm not convinced that it's possible to replace the stop/start queue API for all block drivers by an algorithm that is based on estimating the queue depth. -Bart.= +Bart. diff --git a/a/content_digest b/N1/content_digest index 00a4398..c37b0ec 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -21,7 +21,7 @@ "> > > Now SCSI won't stop queue, and not necessary to use\n" "> > > blk_mq_start_hw_queues(), so switch to blk_mq_run_hw_queues()\n" "> > > instead.\n" - "> > >=20\n" + "> > > \n" "> > > Cc: \"James E.J. Bottomley\" <jejb@linux.vnet.ibm.com>\n" "> > > Cc: \"Martin K. Petersen\" <martin.petersen@oracle.com>\n" "> > > Cc: linux-scsi@vger.kernel.org\n" @@ -29,7 +29,7 @@ "> > > ---\n" "> > > drivers/scsi/scsi_lib.c | 2 +-\n" "> > > 1 file changed, 1 insertion(+), 1 deletion(-)\n" - "> > >=20\n" + "> > > \n" "> > > diff --git a/drivers/scsi/scsi_lib.c b/drivers/scsi/scsi_lib.c\n" "> > > index f6097b89d5d3..91d890356b78 100644\n" "> > > --- a/drivers/scsi/scsi_lib.c\n" @@ -43,37 +43,29 @@ "> > > \telse\n" "> > > \t\tblk_run_queue(q);\n" "> > > }\n" - "> >=20\n" + "> > \n" "> > Hello Ming,\n" - "> >=20\n" - "> > Now that we have separate flags to represent the \"stopped\" and \"quiesce=\n" - "d\"\n" - "> > states, wouldn't it be better not to modify scsi_kick_queue() but inste=\n" - "ad to\n" - "> > stop a SCSI hardware queue again if scsi_queue_rq() returns BLK_STS_RES=\n" - "OURCE?\n" - "> > See also commits 36e3cf273977 (\"scsi: Avoid that SCSI queues get stuck\"=\n" - ") and\n" - "> > commit 52d7f1b5c2f3 (\"blk-mq: Avoid that requeueing starts stopped queu=\n" - "es\").\n" - ">=20\n" + "> > \n" + "> > Now that we have separate flags to represent the \"stopped\" and \"quiesced\"\n" + "> > states, wouldn't it be better not to modify scsi_kick_queue() but instead to\n" + "> > stop a SCSI hardware queue again if scsi_queue_rq() returns BLK_STS_RESOURCE?\n" + "> > See also commits 36e3cf273977 (\"scsi: Avoid that SCSI queues get stuck\") and\n" + "> > commit 52d7f1b5c2f3 (\"blk-mq: Avoid that requeueing starts stopped queues\").\n" + "> \n" "> As you can see in the following patches, all stop/start queue APIs will\n" "> be removed, and the 'stopped' state will become a internal state.\n" - ">=20\n" + "> \n" "> It doesn't make sense to clear 'stopped' for scsi anymore, since the\n" "> queue won't be stopped actually. So we need this change.\n" "\n" "Hello Ming,\n" "\n" - "As Jens already noticed, this approach won't work properly for concurrent I=\n" - "/O\n" - "to multiple LUNs associated with the same SCSI host. This approach won't wo=\n" - "rk\n" - "properly for dm-mpath either. Sorry but I'm not convinced that it's possibl=\n" - "e\n" + "As Jens already noticed, this approach won't work properly for concurrent I/O\n" + "to multiple LUNs associated with the same SCSI host. This approach won't work\n" + "properly for dm-mpath either. Sorry but I'm not convinced that it's possible\n" "to replace the stop/start queue API for all block drivers by an algorithm\n" "that is based on estimating the queue depth.\n" "\n" - Bart.= + Bart. -bf9f33a97f66900452d09c283d7de0baedf84c060867a87f7e72cbc0e26a415d +073aa0a935aa2a3e0f72b59d987d9a9fd6e88681bd3c516844fbf3ed49e563a3
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.