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.