All of lore.kernel.org
 help / color / mirror / Atom feed
diff for duplicates of <1518103548.6826.2.camel@wdc.com>

diff --git a/a/1.txt b/N1/1.txt
index dbdf2b0..e988a63 100644
--- a/a/1.txt
+++ b/N1/1.txt
@@ -1,18 +1,31 @@
-T24gTW9uLCAyMDE4LTAyLTA1IGF0IDIzOjIwICswODAwLCBNaW5nIExlaSB3cm90ZToNCj4gZGlm
-ZiAtLWdpdCBhL2Jsb2NrL2Jsay1tcS1zY2hlZC5jIGIvYmxvY2svYmxrLW1xLXNjaGVkLmMNCj4g
-aW5kZXggNTVjMGE3NDViNDI3Li4zODViYmVjNzM4MDQgMTAwNjQ0DQo+IC0tLSBhL2Jsb2NrL2Js
-ay1tcS1zY2hlZC5jDQo+ICsrKyBiL2Jsb2NrL2Jsay1tcS1zY2hlZC5jDQo+IEBAIC04MSw2ICs4
-MSwxNyBAQCBzdGF0aWMgYm9vbCBibGtfbXFfc2NoZWRfcmVzdGFydF9oY3R4KHN0cnVjdCBibGtf
-bXFfaHdfY3R4ICpoY3R4KQ0KPiAgCX0gZWxzZQ0KPiAgCQljbGVhcl9iaXQoQkxLX01RX1NfU0NI
-RURfUkVTVEFSVCwgJmhjdHgtPnN0YXRlKTsNCj4gIA0KPiArCS8qIG5lZWQgdG8gcmVzdGFydCBh
-bGwgaHcgcXVldWVzIGZvciBnbG9iYWwgdGFncyAqLw0KPiArCWlmIChoY3R4LT5mbGFncyAmIEJM
-S19NUV9GX0dMT0JBTF9UQUdTKSB7DQo+ICsJCXN0cnVjdCBibGtfbXFfaHdfY3R4ICpoY3R4MjsN
-Cj4gKwkJaW50IGk7DQo+ICsNCj4gKwkJcXVldWVfZm9yX2VhY2hfaHdfY3R4KGhjdHgtPnF1ZXVl
-LCBoY3R4MiwgaSkNCj4gKwkJCWlmIChibGtfbXFfcnVuX2h3X3F1ZXVlKGhjdHgyLCB0cnVlKSkN
-Cj4gKwkJCQlyZXR1cm4gdHJ1ZTsNCj4gKwkJcmV0dXJuIGZhbHNlOw0KPiArCX0NCj4gKw0KPiAg
-CXJldHVybiBibGtfbXFfcnVuX2h3X3F1ZXVlKGhjdHgsIHRydWUpOw0KPiAgfQ0KDQpJdCBzZWVt
-cyB3ZWlyZCB0byBtZSB0aGF0IG5vIG1hdHRlciBmb3Igd2hpY2ggaGFyZHdhcmUgcXVldWUgYSBy
-ZXN0YXJ0IGlzDQpyZXF1ZXN0ZWQgKHRoZSBoY3R4IGFyZ3VtZW50KSB0aGF0IHRoZSBhYm92ZSBs
-b29wIHN0YXJ0cyB3aXRoIGV4YW1pbmluZw0KdGhlIGhhcmR3YXJlIHF1ZXVlIHdpdGggaW5kZXgg
-MC4gV2lsbCB0aGlzIGNhdXNlIGZhaXJuZXNzIGFuZC9vciBjYWNoZQ0KbGluZSBib3VuY2luZyBw
-cm9ibGVtcz8NCg0KVGhhbmtzLA0KDQpCYXJ0Lg0KDQoNCg0KDQo=
+On Mon, 2018-02-05 at 23:20 +0800, Ming Lei wrote:
+> diff --git a/block/blk-mq-sched.c b/block/blk-mq-sched.c
+> index 55c0a745b427..385bbec73804 100644
+> --- a/block/blk-mq-sched.c
+> +++ b/block/blk-mq-sched.c
+> @@ -81,6 +81,17 @@ static bool blk_mq_sched_restart_hctx(struct blk_mq_hw_ctx *hctx)
+>  	} else
+>  		clear_bit(BLK_MQ_S_SCHED_RESTART, &hctx->state);
+>  
+> +	/* need to restart all hw queues for global tags */
+> +	if (hctx->flags & BLK_MQ_F_GLOBAL_TAGS) {
+> +		struct blk_mq_hw_ctx *hctx2;
+> +		int i;
+> +
+> +		queue_for_each_hw_ctx(hctx->queue, hctx2, i)
+> +			if (blk_mq_run_hw_queue(hctx2, true))
+> +				return true;
+> +		return false;
+> +	}
+> +
+>  	return blk_mq_run_hw_queue(hctx, true);
+>  }
+
+It seems weird to me that no matter for which hardware queue a restart is
+requested (the hctx argument) that the above loop starts with examining
+the hardware queue with index 0. Will this cause fairness and/or cache
+line bouncing problems?
+
+Thanks,
+
+Bart.
diff --git a/a/content_digest b/N1/content_digest
index c27add3..898b566 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -22,23 +22,36 @@
  " peter.rivera@broadcom.com <peter.rivera@broadcom.com>\0"
  "\00:1\0"
  "b\0"
- "T24gTW9uLCAyMDE4LTAyLTA1IGF0IDIzOjIwICswODAwLCBNaW5nIExlaSB3cm90ZToNCj4gZGlm\n"
- "ZiAtLWdpdCBhL2Jsb2NrL2Jsay1tcS1zY2hlZC5jIGIvYmxvY2svYmxrLW1xLXNjaGVkLmMNCj4g\n"
- "aW5kZXggNTVjMGE3NDViNDI3Li4zODViYmVjNzM4MDQgMTAwNjQ0DQo+IC0tLSBhL2Jsb2NrL2Js\n"
- "ay1tcS1zY2hlZC5jDQo+ICsrKyBiL2Jsb2NrL2Jsay1tcS1zY2hlZC5jDQo+IEBAIC04MSw2ICs4\n"
- "MSwxNyBAQCBzdGF0aWMgYm9vbCBibGtfbXFfc2NoZWRfcmVzdGFydF9oY3R4KHN0cnVjdCBibGtf\n"
- "bXFfaHdfY3R4ICpoY3R4KQ0KPiAgCX0gZWxzZQ0KPiAgCQljbGVhcl9iaXQoQkxLX01RX1NfU0NI\n"
- "RURfUkVTVEFSVCwgJmhjdHgtPnN0YXRlKTsNCj4gIA0KPiArCS8qIG5lZWQgdG8gcmVzdGFydCBh\n"
- "bGwgaHcgcXVldWVzIGZvciBnbG9iYWwgdGFncyAqLw0KPiArCWlmIChoY3R4LT5mbGFncyAmIEJM\n"
- "S19NUV9GX0dMT0JBTF9UQUdTKSB7DQo+ICsJCXN0cnVjdCBibGtfbXFfaHdfY3R4ICpoY3R4MjsN\n"
- "Cj4gKwkJaW50IGk7DQo+ICsNCj4gKwkJcXVldWVfZm9yX2VhY2hfaHdfY3R4KGhjdHgtPnF1ZXVl\n"
- "LCBoY3R4MiwgaSkNCj4gKwkJCWlmIChibGtfbXFfcnVuX2h3X3F1ZXVlKGhjdHgyLCB0cnVlKSkN\n"
- "Cj4gKwkJCQlyZXR1cm4gdHJ1ZTsNCj4gKwkJcmV0dXJuIGZhbHNlOw0KPiArCX0NCj4gKw0KPiAg\n"
- "CXJldHVybiBibGtfbXFfcnVuX2h3X3F1ZXVlKGhjdHgsIHRydWUpOw0KPiAgfQ0KDQpJdCBzZWVt\n"
- "cyB3ZWlyZCB0byBtZSB0aGF0IG5vIG1hdHRlciBmb3Igd2hpY2ggaGFyZHdhcmUgcXVldWUgYSBy\n"
- "ZXN0YXJ0IGlzDQpyZXF1ZXN0ZWQgKHRoZSBoY3R4IGFyZ3VtZW50KSB0aGF0IHRoZSBhYm92ZSBs\n"
- "b29wIHN0YXJ0cyB3aXRoIGV4YW1pbmluZw0KdGhlIGhhcmR3YXJlIHF1ZXVlIHdpdGggaW5kZXgg\n"
- "MC4gV2lsbCB0aGlzIGNhdXNlIGZhaXJuZXNzIGFuZC9vciBjYWNoZQ0KbGluZSBib3VuY2luZyBw\n"
- cm9ibGVtcz8NCg0KVGhhbmtzLA0KDQpCYXJ0Lg0KDQoNCg0KDQo=
+ "On Mon, 2018-02-05 at 23:20 +0800, Ming Lei wrote:\n"
+ "> diff --git a/block/blk-mq-sched.c b/block/blk-mq-sched.c\n"
+ "> index 55c0a745b427..385bbec73804 100644\n"
+ "> --- a/block/blk-mq-sched.c\n"
+ "> +++ b/block/blk-mq-sched.c\n"
+ "> @@ -81,6 +81,17 @@ static bool blk_mq_sched_restart_hctx(struct blk_mq_hw_ctx *hctx)\n"
+ ">  \t} else\n"
+ ">  \t\tclear_bit(BLK_MQ_S_SCHED_RESTART, &hctx->state);\n"
+ ">  \n"
+ "> +\t/* need to restart all hw queues for global tags */\n"
+ "> +\tif (hctx->flags & BLK_MQ_F_GLOBAL_TAGS) {\n"
+ "> +\t\tstruct blk_mq_hw_ctx *hctx2;\n"
+ "> +\t\tint i;\n"
+ "> +\n"
+ "> +\t\tqueue_for_each_hw_ctx(hctx->queue, hctx2, i)\n"
+ "> +\t\t\tif (blk_mq_run_hw_queue(hctx2, true))\n"
+ "> +\t\t\t\treturn true;\n"
+ "> +\t\treturn false;\n"
+ "> +\t}\n"
+ "> +\n"
+ ">  \treturn blk_mq_run_hw_queue(hctx, true);\n"
+ ">  }\n"
+ "\n"
+ "It seems weird to me that no matter for which hardware queue a restart is\n"
+ "requested (the hctx argument) that the above loop starts with examining\n"
+ "the hardware queue with index 0. Will this cause fairness and/or cache\n"
+ "line bouncing problems?\n"
+ "\n"
+ "Thanks,\n"
+ "\n"
+ Bart.
 
-6100fe7d75de8b969551994bf9c0f1a140670291547514deaa1588113ed21ea3
+cb0f24ff1ca6b71a660cb651cba3d8c83c9d3248d9b70681cbf144d346e324cc

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.