Linux block layer
 help / color / mirror / Atom feed
* blk-mq: make sure that correct hctx->dispatch_from is set
@ 2018-05-18 13:42 胡海
  2018-05-18 14:00 ` Ming Lei
  2018-05-18 14:27 ` Jens Axboe
  0 siblings, 2 replies; 8+ messages in thread
From: 胡海 @ 2018-05-18 13:42 UTC (permalink / raw)
  To: axboe; +Cc: ming.lei, linux-block

QXV0aG9yOiBodWhhaSA8aHVoYWlAa3lsaW5vcy5jbj4NCkRhdGU6ICAgRnJpIE1heSAxOCAx
NzowOTo1NiAyMDE4ICswODAwDQoNCiAgICBibGstbXE6IG1ha2Ugc3VyZSB0aGF0IGNvcnJl
Y3QgaGN0eC0+ZGlzcGF0Y2hfZnJvbSBpcyBzZXQNCiAgICANCiAgICBXaGVuIHRoZSBudW1i
ZXIgb2YgaGFyZHdhcmUgcXVldWVzIGlzIGNoYW5nZWQsIHRoZSBkcml2ZXJzIHdpbGwgY2Fs
bA0KICAgIGJsa19tcV91cGRhdGVfbnJfaHdfcXVldWVzKCkgdG8gcmVtYXAgaGFyZHdhcmUg
cXVldWVzLCBhbmQgdGhlbg0KICAgIHRoZSBjdHggbWFwcGVkIG9uIGhjdHggd2lsbCBhbHNv
IGNoYW5nZSwgYnV0IHRoZSBjdXJyZW50IGNvZGUgZm9yZ2V0cyB0bw0KICAgIG1ha2Ugc3Vy
ZSB0aGF0IGNvcnJlY3QgaGN0eC0+ZGlzcGF0Y2hfZnJvbSBpcyBzZXQsIGFuZCBoY3R4LT5k
aXNwYXRjaF9mcm9tDQogICAgbWF5IHBvaW50IHRvIGEgY3R4IHRoYXQgZG9lcyBub3QgYmVs
b25nIHRvIHRoZSBjdXJyZW50IGhjdHguDQogICAgDQogICAgU2lnbmVkLW9mZi1ieTogaHVo
YWkgPGh1aGFpQGt5bGlub3MuY24+DQoNCmRpZmYgLS1naXQgYS9ibG9jay9ibGstbXEuYyBi
L2Jsb2NrL2Jsay1tcS5jDQppbmRleCAyNTQ1MDgxLi41NWQ4YTNkIDEwMDY0NA0KLS0tIGEv
YmxvY2svYmxrLW1xLmMNCisrKyBiL2Jsb2NrL2Jsay1tcS5jDQpAQCAtMjIxNCw2ICsyMjE0
LDggQEAgc3RhdGljIHZvaWQgYmxrX21xX21hcF9zd3F1ZXVlKHN0cnVjdCByZXF1ZXN0X3F1
ZXVlICpxKQ0KICAgICAgICAgICAgICAgIGhjdHgtPnRhZ3MgPSBzZXQtPnRhZ3NbaV07DQog
ICAgICAgICAgICAgICAgV0FSTl9PTighaGN0eC0+dGFncyk7DQogDQorICAgICAgICAgICAg
ICAgaGN0eC0+ZGlzcGF0Y2hfZnJvbSA9IE5VTEw7DQorDQogICAgICAgICAgICAgICAgLyoN
CiAgICAgICAgICAgICAgICAgKiBTZXQgdGhlIG1hcCBzaXplIHRvIHRoZSBudW1iZXIgb2Yg
bWFwcGVkIHNvZnR3YXJlIHF1ZXVlcy4NCiAgICAgICAgICAgICAgICAgKiBUaGlzIGlzIG1v
cmUgYWNjdXJhdGUgYW5kIG1vcmUgZWZmaWNpZW50IHRoYW4gbG9vcGluZw==

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: blk-mq: make sure that correct hctx->dispatch_from is set
  2018-05-18 13:42 blk-mq: make sure that correct hctx->dispatch_from is set 胡海
@ 2018-05-18 14:00 ` Ming Lei
  2018-05-18 14:27 ` Jens Axboe
  1 sibling, 0 replies; 8+ messages in thread
From: Ming Lei @ 2018-05-18 14:00 UTC (permalink / raw)
  To: 胡海; +Cc: axboe, ming.lei, linux-block

On Fri, May 18, 2018 at 9:42 PM, =E8=83=A1=E6=B5=B7 <huhai@kylinos.cn> wrot=
e:
> Author: huhai <huhai@kylinos.cn>
> Date:   Fri May 18 17:09:56 2018 +0800
>
>     blk-mq: make sure that correct hctx->dispatch_from is set
>
>     When the number of hardware queues is changed, the drivers will call
>     blk_mq_update_nr_hw_queues() to remap hardware queues, and then
>     the ctx mapped on hctx will also change, but the current code forgets=
 to
>     make sure that correct hctx->dispatch_from is set, and hctx->dispatch=
_from
>     may point to a ctx that does not belong to the current hctx.
>
>     Signed-off-by: huhai <huhai@kylinos.cn>
>
> diff --git a/block/blk-mq.c b/block/blk-mq.c
> index 2545081..55d8a3d 100644
> --- a/block/blk-mq.c
> +++ b/block/blk-mq.c
> @@ -2214,6 +2214,8 @@ static void blk_mq_map_swqueue(struct request_queue=
 *q)
>                 hctx->tags =3D set->tags[i];
>                 WARN_ON(!hctx->tags);
>
> +               hctx->dispatch_from =3D NULL;
> +
>                 /*
>                  * Set the map size to the number of mapped software queu=
es.
>                  * This is more accurate and more efficient than looping

Good catch,

Reviewed-by: Ming Lei <ming.lei@redhat.com>

Thanks,
Ming Lei

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: blk-mq: make sure that correct hctx->dispatch_from is set
  2018-05-18 13:42 blk-mq: make sure that correct hctx->dispatch_from is set 胡海
  2018-05-18 14:00 ` Ming Lei
@ 2018-05-18 14:27 ` Jens Axboe
  2018-05-18 14:31   ` Jens Axboe
  1 sibling, 1 reply; 8+ messages in thread
From: Jens Axboe @ 2018-05-18 14:27 UTC (permalink / raw)
  To: 胡海; +Cc: ming.lei, linux-block

On 5/18/18 7:42 AM, 胡海 wrote:
> Author: huhai <huhai@kylinos.cn>
> Date:   Fri May 18 17:09:56 2018 +0800
> 
>     blk-mq: make sure that correct hctx->dispatch_from is set
>     
>     When the number of hardware queues is changed, the drivers will call
>     blk_mq_update_nr_hw_queues() to remap hardware queues, and then
>     the ctx mapped on hctx will also change, but the current code forgets to
>     make sure that correct hctx->dispatch_from is set, and hctx->dispatch_from
>     may point to a ctx that does not belong to the current hctx.

Looks good, thanks. One minor note for future patches - for cases like this,
when the patch fixes an issue with a specific commit, add a fixes line.
For this one, it would be:

Fixes: b347689ffbca ("blk-mq-sched: improve dispatching from sw queue")

-- 
Jens Axboe

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: blk-mq: make sure that correct hctx->dispatch_from is set
  2018-05-18 14:27 ` Jens Axboe
@ 2018-05-18 14:31   ` Jens Axboe
  2018-05-18 14:46     ` huhai
  0 siblings, 1 reply; 8+ messages in thread
From: Jens Axboe @ 2018-05-18 14:31 UTC (permalink / raw)
  To: 胡海; +Cc: ming.lei, linux-block

On 5/18/18 8:27 AM, Jens Axboe wrote:
> On 5/18/18 7:42 AM, 胡海 wrote:
>> Author: huhai <huhai@kylinos.cn>
>> Date:   Fri May 18 17:09:56 2018 +0800
>>
>>     blk-mq: make sure that correct hctx->dispatch_from is set
>>     
>>     When the number of hardware queues is changed, the drivers will call
>>     blk_mq_update_nr_hw_queues() to remap hardware queues, and then
>>     the ctx mapped on hctx will also change, but the current code forgets to
>>     make sure that correct hctx->dispatch_from is set, and hctx->dispatch_from
>>     may point to a ctx that does not belong to the current hctx.
> 
> Looks good, thanks. One minor note for future patches - for cases like this,
> when the patch fixes an issue with a specific commit, add a fixes line.
> For this one, it would be:
> 
> Fixes: b347689ffbca ("blk-mq-sched: improve dispatching from sw queue")

Two more notes... Your patches are still coming through as base64 encoded,
they should just be plain text.

Finally, I think the below is much clearer, since that's the loop where
we clear any existing hctx context.


diff --git a/block/blk-mq.c b/block/blk-mq.c
index 6c6aef44badd..4cbfd784e837 100644
--- a/block/blk-mq.c
+++ b/block/blk-mq.c
@@ -2358,6 +2358,7 @@ static void blk_mq_map_swqueue(struct request_queue *q)
 	queue_for_each_hw_ctx(q, hctx, i) {
 		cpumask_clear(hctx->cpumask);
 		hctx->nr_ctx = 0;
+		hctx->dispatch_from = NULL;
 	}
 
 	/*

-- 
Jens Axboe

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: blk-mq: make sure that correct hctx->dispatch_from is set
  2018-05-18 14:31   ` Jens Axboe
@ 2018-05-18 14:46     ` huhai
  2018-05-18 14:50       ` Jens Axboe
  2018-05-18 15:10       ` Bart Van Assche
  0 siblings, 2 replies; 8+ messages in thread
From: huhai @ 2018-05-18 14:46 UTC (permalink / raw)
  To: Jens Axboe; +Cc: ming.lei, linux-block

WWVzLCBpdCBpcyBtb3JlIHJlYWRhYmxlDQoNCkZpbmFsbHksIHRoYW5rIHlvdSBmb3IgcmVt
aW5kaW5nIG1lLiBOZXh0IHRpbWUgSSdsbCBjaGFuZ2UgZ21haWwgdG8gc3VibWl0IHBhdGNo
Lg0KDQogDQogDQogDQotLS0tLS0tLS0tLS0tLS0tLS0gT3JpZ2luYWwgLS0tLS0tLS0tLS0t
LS0tLS0tDQpGcm9tOiAgIkplbnMgQXhib2UiPGF4Ym9lQGtlcm5lbC5kaz47DQpEYXRlOiAg
RnJpLCBNYXkgMTgsIDIwMTggMTA6MzEgUE0NClRvOiAgIuiDoea1tyI8aHVoYWlAa3lsaW5v
cy5jbj47DQpDYzogICJtaW5nLmxlaSI8bWluZy5sZWlAcmVkaGF0LmNvbT47ICJsaW51eC1i
bG9jayI8bGludXgtYmxvY2tAdmdlci5rZXJuZWwub3JnPjsNClN1YmplY3Q6ICBSZTogYmxr
LW1xOiBtYWtlIHN1cmUgdGhhdCBjb3JyZWN0IGhjdHgtPmRpc3BhdGNoX2Zyb20gaXMgc2V0
DQogDQpPbiA1LzE4LzE4IDg6MjcgQU0sIEplbnMgQXhib2Ugd3JvdGU6DQo+IE9uIDUvMTgv
MTggNzo0MiBBTSwg6IOh5rW3IHdyb3RlOg0KPj4gQXV0aG9yOiBodWhhaSA8aHVoYWlAa3ls
aW5vcy5jbj4NCj4+IERhdGU6ICAgRnJpIE1heSAxOCAxNzowOTo1NiAyMDE4ICswODAwDQo+
Pg0KPj4gICAgIGJsay1tcTogbWFrZSBzdXJlIHRoYXQgY29ycmVjdCBoY3R4LT5kaXNwYXRj
aF9mcm9tIGlzIHNldA0KPj4gICAgIA0KPj4gICAgIFdoZW4gdGhlIG51bWJlciBvZiBoYXJk
d2FyZSBxdWV1ZXMgaXMgY2hhbmdlZCwgdGhlIGRyaXZlcnMgd2lsbCBjYWxsDQo+PiAgICAg
YmxrX21xX3VwZGF0ZV9ucl9od19xdWV1ZXMoKSB0byByZW1hcCBoYXJkd2FyZSBxdWV1ZXMs
IGFuZCB0aGVuDQo+PiAgICAgdGhlIGN0eCBtYXBwZWQgb24gaGN0eCB3aWxsIGFsc28gY2hh
bmdlLCBidXQgdGhlIGN1cnJlbnQgY29kZSBmb3JnZXRzIHRvDQo+PiAgICAgbWFrZSBzdXJl
IHRoYXQgY29ycmVjdCBoY3R4LT5kaXNwYXRjaF9mcm9tIGlzIHNldCwgYW5kIGhjdHgtPmRp
c3BhdGNoX2Zyb20NCj4+ICAgICBtYXkgcG9pbnQgdG8gYSBjdHggdGhhdCBkb2VzIG5vdCBi
ZWxvbmcgdG8gdGhlIGN1cnJlbnQgaGN0eC4NCj4gDQo+IExvb2tzIGdvb2QsIHRoYW5rcy4g
T25lIG1pbm9yIG5vdGUgZm9yIGZ1dHVyZSBwYXRjaGVzIC0gZm9yIGNhc2VzIGxpa2UgdGhp
cywNCj4gd2hlbiB0aGUgcGF0Y2ggZml4ZXMgYW4gaXNzdWUgd2l0aCBhIHNwZWNpZmljIGNv
bW1pdCwgYWRkIGEgZml4ZXMgbGluZS4NCj4gRm9yIHRoaXMgb25lLCBpdCB3b3VsZCBiZToN
Cj4gDQo+IEZpeGVzOiBiMzQ3Njg5ZmZiY2EgKCJibGstbXEtc2NoZWQ6IGltcHJvdmUgZGlz
cGF0Y2hpbmcgZnJvbSBzdyBxdWV1ZSIpDQoNClR3byBtb3JlIG5vdGVzLi4uIFlvdXIgcGF0
Y2hlcyBhcmUgc3RpbGwgY29taW5nIHRocm91Z2ggYXMgYmFzZTY0IGVuY29kZWQsDQp0aGV5
IHNob3VsZCBqdXN0IGJlIHBsYWluIHRleHQuDQoNCkZpbmFsbHksIEkgdGhpbmsgdGhlIGJl
bG93IGlzIG11Y2ggY2xlYXJlciwgc2luY2UgdGhhdCdzIHRoZSBsb29wIHdoZXJlDQp3ZSBj
bGVhciBhbnkgZXhpc3RpbmcgaGN0eCBjb250ZXh0Lg0KDQoNCmRpZmYgLS1naXQgYS9ibG9j
ay9ibGstbXEuYyBiL2Jsb2NrL2Jsay1tcS5jDQppbmRleCA2YzZhZWY0NGJhZGQuLjRjYmZk
Nzg0ZTgzNyAxMDA2NDQNCi0tLSBhL2Jsb2NrL2Jsay1tcS5jDQorKysgYi9ibG9jay9ibGst
bXEuYw0KQEAgLTIzNTgsNiArMjM1OCw3IEBAIHN0YXRpYyB2b2lkIGJsa19tcV9tYXBfc3dx
dWV1ZShzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqcSkNCiAJcXVldWVfZm9yX2VhY2hfaHdfY3R4
KHEsIGhjdHgsIGkpIHsNCiAJY3B1bWFza19jbGVhcihoY3R4LT5jcHVtYXNrKTsNCiAJaGN0
eC0+bnJfY3R4ID0gMDsNCisJaGN0eC0+ZGlzcGF0Y2hfZnJvbSA9IE5VTEw7DQogCX0NCiAN
CiAJLyoNCg0KLS0gDQpKZW5zIEF4Ym9l

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: blk-mq: make sure that correct hctx->dispatch_from is set
  2018-05-18 14:46     ` huhai
@ 2018-05-18 14:50       ` Jens Axboe
  2018-05-18 15:10       ` Bart Van Assche
  1 sibling, 0 replies; 8+ messages in thread
From: Jens Axboe @ 2018-05-18 14:50 UTC (permalink / raw)
  To: huhai; +Cc: ming.lei, linux-block

On 5/18/18 8:46 AM, huhai wrote:
> Yes, it is more readable

Final version:

http://git.kernel.dk/cgit/linux-block/commit/?h=for-4.18/block&id=d416c92c5d6229b33f37f0f75e52194081ccbcc4

> Finally, thank you for reminding me. Next time I'll change gmail to submit patch.

Not sure gmail can ever really work. You should not top-post reply to
postings either. If you want to experiment with getting a mailer setup
and whether or not it does the right thing, feel free to send a patch
to my email privately, and I can let you know if the end result is
as it should be.

-- 
Jens Axboe

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: blk-mq: make sure that correct hctx->dispatch_from is set
  2018-05-18 14:46     ` huhai
  2018-05-18 14:50       ` Jens Axboe
@ 2018-05-18 15:10       ` Bart Van Assche
  2018-05-18 15:15         ` Jens Axboe
  1 sibling, 1 reply; 8+ messages in thread
From: Bart Van Assche @ 2018-05-18 15:10 UTC (permalink / raw)
  To: huhai@kylinos.cn, axboe@kernel.dk
  Cc: linux-block@vger.kernel.org, ming.lei@redhat.com

T24gRnJpLCAyMDE4LTA1LTE4IGF0IDIyOjQ2ICswODAwLCBodWhhaSB3cm90ZToNCj4gWWVzLCBp
dCBpcyBtb3JlIHJlYWRhYmxlDQo+IA0KPiBGaW5hbGx5LCB0aGFuayB5b3UgZm9yIHJlbWluZGlu
ZyBtZS4gTmV4dCB0aW1lIEknbGwgY2hhbmdlIGdtYWlsIHRvIHN1Ym1pdCBwYXRjaC4NCg0KSGVs
bG8gSHVoYWksDQoNClBsZWFzZSBoYXZlIGEgbG9vayBhdCBEb2N1bWVudGF0aW9uL3Byb2Nlc3Mv
ZW1haWwtY2xpZW50cy5yc3QuDQoNClRoYW5rcywNCg0KQmFydC4NCg0KDQoNCg0KDQoNCg0KDQo=

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: blk-mq: make sure that correct hctx->dispatch_from is set
  2018-05-18 15:10       ` Bart Van Assche
@ 2018-05-18 15:15         ` Jens Axboe
  0 siblings, 0 replies; 8+ messages in thread
From: Jens Axboe @ 2018-05-18 15:15 UTC (permalink / raw)
  To: Bart Van Assche, huhai@kylinos.cn
  Cc: linux-block@vger.kernel.org, ming.lei@redhat.com

On 5/18/18 9:10 AM, Bart Van Assche wrote:
> On Fri, 2018-05-18 at 22:46 +0800, huhai wrote:
>> Yes, it is more readable
>>
>> Finally, thank you for reminding me. Next time I'll change gmail to submit patch.
> 
> Hello Huhai,
> 
> Please have a look at Documentation/process/email-clients.rst.

Yeah, I did point at that one too.

For sending out patches, I would strongly recommend just using git send-email.
It works fine with gmail, that's what I always use.

$ cat ~/.gitconfig
[sendemail]
from = Jens Axboe <axboe@kernel.dk>
smtpserver = smtp.gmail.com
smtpuser = axboe@kernel.dk
smtpencryption = tls
smtppass = <insert pass or appcode here>
smtpserverport = 587

-- 
Jens Axboe

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2018-05-18 15:15 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-05-18 13:42 blk-mq: make sure that correct hctx->dispatch_from is set 胡海
2018-05-18 14:00 ` Ming Lei
2018-05-18 14:27 ` Jens Axboe
2018-05-18 14:31   ` Jens Axboe
2018-05-18 14:46     ` huhai
2018-05-18 14:50       ` Jens Axboe
2018-05-18 15:10       ` Bart Van Assche
2018-05-18 15:15         ` Jens Axboe

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox