From: Bart Van Assche <Bart.VanAssche@sandisk.com> To: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>, "linux-block@vger.kernel.org" <linux-block@vger.kernel.org>, "axboe@fb.com" <axboe@fb.com>, "axboe@kernel.dk" <axboe@kernel.dk> Cc: "osandov@fb.com" <osandov@fb.com>, "paolo.valente@linaro.org" <paolo.valente@linaro.org> Subject: Re: [PATCH 7/8] mq-deadline: add blk-mq adaptation of the deadline IO scheduler Date: Wed, 21 Dec 2016 11:59:28 +0000 [thread overview] Message-ID: <1482321550.2644.10.camel@sandisk.com> (raw) In-Reply-To: <1481933536-12844-8-git-send-email-axboe@fb.com> T24gMTIvMTcvMjAxNiAwMToxMiBBTSwgSmVucyBBeGJvZSB3cm90ZToNCj4gK3N0YXRpYyBib29s IGRkX3B1dF9yZXF1ZXN0KHN0cnVjdCByZXF1ZXN0ICpycSkNCj4gK3sNCj4gKwkvKg0KPiArCcKg KiBJZiBpdCdzIGEgcmVhbCByZXF1ZXN0LCB3ZSBqdXN0IGhhdmUgdG8NCmZyZWUgaXQuIEZvciBh IHNoYWRvdw0KPiArCcKgKiByZXF1ZXN0LCB3ZSBzaG91bGQgb25seSBmcmVlIGl0IGlmIHdlIGhh dmVuJ3Qgc3RhcnRlZCBpdC4gQQ0KPiArCcKgKiBzdGFydGVkIHJlcXVlc3QgaXMgbWFwcGVkIHRv IGEgcmVhbCBvbmUsIGFuZCB0aGUNCnJlYWwgb25lIHdpbGwNCj4gKwnCoCogZnJlZSBpdC4gV2Ug Y2FuIGdldCBoZXJlIHdpdGggcmVxdWVzdCBtZXJnZXMsIHNpbmNlIHdlIHRoZW4NCj4gKwnCoCog ZnJlZSB0aGUgcmVxdWVzdCBiZWZvcmUgd2Ugc3RhcnQvaXNzdWUgaXQuDQo+ICsJwqAqLw0KPiAr CQ0KaWYgKCFibGtfbXFfc2NoZWRfcnFfaXNfc2hhZG93KHJxKSkNCj4gKwkJcmV0dXJuIGZhbHNl Ow0KPiArDQo+ICsJaWYgKCEocnEtPnJxX2ZsYWdzICYgUlFGX1NUQVJURUQpKSB7DQo+ICsJCXN0 cnVjdCByZXF1ZXN0X3F1ZXVlICpxDQo9IHJxLT5xOw0KPiArCQlzdHJ1Y3QgZGVhZGxpbmVfZGF0 YSAqZGQgPSBxLT5lbGV2YXRvci0+ZWxldmF0b3JfZGF0YTsNCj4gKw0KPiArCQkvKg0KPiArCQnC oCogSU8gY29tcGxldGlvbiB3b3VsZCBub3JtYWxseSBkbw0KdGhpcywgYnV0IGlmIHdlIG1lcmdl DQo+ICsJCcKgKiBhbmQgZnJlZSBiZWZvcmUgd2UgaXNzdWUgdGhlIHJlcXVlc3QsIGRyb3AgYm90 aCB0aGUNCj4gKwkJwqAqIHRhZyBhbmQgcXVldWUgcmVmDQo+ICsJCcKgKi8NCj4gKwkNCglibGtf bXFfc2NoZWRfZnJlZV9zaGFkb3dfcmVxdWVzdChkZC0+dGFncywgcnEpOw0KPiArCQlibGtfcXVl dWVfZXhpdChxKTsNCj4gKwl9DQo+ICsNCj4gKwlyZXR1cm4gdHJ1ZTsNCj4gK30NCg0KSGVsbG8g SmVucywNCg0KU2luY2UgdGhpcyBwYXRjaCBpcyB0aGUgZmlyc3QgcGF0Y2ggdGhhdCBpbnRyb2R1 Y2VzIGEgY2FsbCB0byBibGtfcXVldWVfZXhpdCgpDQpmcm9tIGEgbW9kdWxlIG90aGVyIHRoYW4g dGhlIGJsb2NrIGxheWVyIGNvcmUsIHNob3VsZG4ndCB0aGlzIHBhdGNoIGV4cG9ydCB0aGUNCmJs a19xdWV1ZV9leGl0KCkgZnVuY3Rpb24/IEFuIGF0dGVtcHQgdG8gYnVpbGQgbXEtZGVhZGxpbmUg YXMgYSBtb2R1bGUgcmVzdWx0ZWQNCmluIHRoZSBmb2xsb3dpbmc6DQoNCkVSUk9SOiAiYmxrX3F1 ZXVlX2V4aXQiIFtibG9jay9tcS1kZWFkbGluZS5rb10gdW5kZWZpbmVkIQ0KbWFrZVsxXTogKioq IFtzY3JpcHRzL01ha2VmaWxlLm1vZHBvc3Q6OTE6IF9fbW9kcG9zdF0gRXJyb3IgMQ0KbWFrZTog KioqIFtNYWtlZmlsZToxMTk4OiBtb2R1bGVzXSBFcnJvciAyDQpFeGVjdXRpb24gZmFpbGVkOiBt YWtlIGFsbA0KDQpCYXJ0Lg==
WARNING: multiple messages have this Message-ID (diff)
From: Bart Van Assche <Bart.VanAssche@sandisk.com> To: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>, "linux-block@vger.kernel.org" <linux-block@vger.kernel.org>, "axboe@fb.com" <axboe@fb.com>, "axboe@kernel.dk" <axboe@kernel.dk> Cc: "osandov@fb.com" <osandov@fb.com>, "paolo.valente@linaro.org" <paolo.valente@linaro.org> Subject: Re: [PATCH 7/8] mq-deadline: add blk-mq adaptation of the deadline IO scheduler Date: Wed, 21 Dec 2016 11:59:28 +0000 [thread overview] Message-ID: <1482321550.2644.10.camel@sandisk.com> (raw) In-Reply-To: <1481933536-12844-8-git-send-email-axboe@fb.com> On 12/17/2016 01:12 AM, Jens Axboe wrote: > +static bool dd_put_request(struct request *rq) > +{ > + /* > + * If it's a real request, we just have to free it. For a shadow > + * request, we should only free it if we haven't started it. A > + * started request is mapped to a real one, and the real one will > + * free it. We can get here with request merges, since we then > + * free the request before we start/issue it. > + */ > + if (!blk_mq_sched_rq_is_shadow(rq)) > + return false; > + > + if (!(rq->rq_flags & RQF_STARTED)) { > + struct request_queue *q = rq->q; > + struct deadline_data *dd = q->elevator->elevator_data; > + > + /* > + * IO completion would normally do this, but if we merge > + * and free before we issue the request, drop both the > + * tag and queue ref > + */ > + blk_mq_sched_free_shadow_request(dd->tags, rq); > + blk_queue_exit(q); > + } > + > + return true; > +} Hello Jens, Since this patch is the first patch that introduces a call to blk_queue_exit() from a module other than the block layer core, shouldn't this patch export the blk_queue_exit() function? An attempt to build mq-deadline as a module resulted in the following: ERROR: "blk_queue_exit" [block/mq-deadline.ko] undefined! make[1]: *** [scripts/Makefile.modpost:91: __modpost] Error 1 make: *** [Makefile:1198: modules] Error 2 Execution failed: make all Bart.
next prev parent reply other threads:[~2016-12-21 11:59 UTC|newest] Thread overview: 115+ messages / expand[flat|nested] mbox.gz Atom feed top 2016-12-17 0:12 [PATCHSET v4] blk-mq-scheduling framework Jens Axboe 2016-12-17 0:12 ` [PATCH 1/8] block: move existing elevator ops to union Jens Axboe 2016-12-17 0:12 ` [PATCH 2/8] blk-mq: make mq_ops a const pointer Jens Axboe 2016-12-17 0:12 ` [PATCH 3/8] block: move rq_ioc() to blk.h Jens Axboe 2016-12-20 10:12 ` Paolo Valente 2016-12-20 10:12 ` Paolo Valente 2016-12-20 15:46 ` Jens Axboe 2016-12-20 22:14 ` Jens Axboe 2016-12-17 0:12 ` [PATCH 4/8] blk-mq: un-export blk_mq_free_hctx_request() Jens Axboe 2016-12-17 0:12 ` [PATCH 5/8] blk-mq: export some helpers we need to the scheduling framework Jens Axboe 2016-12-17 0:12 ` [PATCH 6/8] blk-mq-sched: add framework for MQ capable IO schedulers Jens Axboe 2016-12-20 11:55 ` Paolo Valente 2016-12-20 11:55 ` Paolo Valente 2016-12-20 15:45 ` Jens Axboe 2016-12-21 2:22 ` Jens Axboe 2016-12-22 15:20 ` Paolo Valente 2016-12-22 15:20 ` Paolo Valente 2016-12-22 9:59 ` Paolo Valente 2016-12-22 9:59 ` Paolo Valente 2016-12-22 11:13 ` Paolo Valente 2016-12-22 11:13 ` Paolo Valente 2017-01-17 2:47 ` Jens Axboe 2017-01-17 2:47 ` Jens Axboe 2017-01-17 10:13 ` Paolo Valente 2017-01-17 10:13 ` Paolo Valente 2017-01-17 12:38 ` Jens Axboe 2017-01-17 12:38 ` Jens Axboe 2016-12-23 10:12 ` Paolo Valente 2016-12-23 10:12 ` Paolo Valente 2017-01-17 2:47 ` Jens Axboe 2017-01-17 9:17 ` Paolo Valente 2017-01-17 9:17 ` Paolo Valente 2016-12-17 0:12 ` [PATCH 7/8] mq-deadline: add blk-mq adaptation of the deadline IO scheduler Jens Axboe 2016-12-20 9:34 ` Paolo Valente 2016-12-20 9:34 ` Paolo Valente 2016-12-20 15:46 ` Jens Axboe 2016-12-21 11:59 ` Bart Van Assche [this message] 2016-12-21 11:59 ` Bart Van Assche 2016-12-21 14:22 ` Jens Axboe 2016-12-22 16:07 ` Paolo Valente 2016-12-22 16:07 ` Paolo Valente 2017-01-17 2:47 ` Jens Axboe 2017-01-17 2:47 ` Jens Axboe 2016-12-22 16:49 ` Paolo Valente 2016-12-22 16:49 ` Paolo Valente 2017-01-17 2:47 ` Jens Axboe 2017-01-20 11:07 ` Paolo Valente 2017-01-20 11:07 ` Paolo Valente 2017-01-20 14:26 ` Jens Axboe 2017-01-20 13:14 ` Paolo Valente 2017-01-20 13:14 ` Paolo Valente 2017-01-20 13:18 ` Paolo Valente 2017-01-20 13:18 ` Paolo Valente 2017-01-20 14:28 ` Jens Axboe 2017-01-20 14:28 ` Jens Axboe 2017-02-01 11:11 ` Paolo Valente 2017-02-01 11:11 ` Paolo Valente 2017-02-02 5:19 ` Jens Axboe 2017-02-02 9:19 ` Paolo Valente 2017-02-02 9:19 ` Paolo Valente 2017-02-02 15:30 ` Jens Axboe 2017-02-02 15:30 ` Jens Axboe 2017-02-02 21:15 ` Paolo Valente 2017-02-02 21:15 ` Paolo Valente 2017-02-02 21:32 ` Jens Axboe 2017-02-02 21:32 ` Jens Axboe 2017-02-07 17:27 ` Paolo Valente 2017-02-07 17:27 ` Paolo Valente 2017-02-01 11:56 ` Paolo Valente 2017-02-01 11:56 ` Paolo Valente 2017-02-02 5:20 ` Jens Axboe 2017-02-16 10:46 ` Paolo Valente 2017-02-16 10:46 ` Paolo Valente 2017-02-16 15:35 ` Jens Axboe 2017-02-16 15:35 ` Jens Axboe 2016-12-17 0:12 ` [PATCH 8/8] blk-mq-sched: allow setting of default " Jens Axboe 2016-12-19 11:32 ` [PATCHSET v4] blk-mq-scheduling framework Paolo Valente 2016-12-19 11:32 ` Paolo Valente 2016-12-19 15:20 ` Jens Axboe 2016-12-19 15:20 ` Jens Axboe 2016-12-19 15:33 ` Jens Axboe 2016-12-19 18:21 ` Paolo Valente 2016-12-19 18:21 ` Paolo Valente 2016-12-19 21:05 ` Jens Axboe 2016-12-19 21:05 ` Jens Axboe 2016-12-22 15:28 ` Paolo Valente 2016-12-22 15:28 ` Paolo Valente 2017-01-17 2:47 ` Jens Axboe 2017-01-17 10:43 ` Paolo Valente 2017-01-17 10:44 ` Paolo Valente 2017-01-17 10:47 ` Paolo Valente 2017-01-17 10:49 ` Paolo Valente 2017-01-17 10:49 ` Paolo Valente 2017-01-18 16:14 ` Paolo Valente 2017-01-18 16:14 ` Paolo Valente 2017-01-18 16:21 ` Jens Axboe 2017-01-18 16:21 ` Jens Axboe 2017-01-23 17:04 ` Paolo Valente 2017-01-23 17:04 ` Paolo Valente 2017-01-23 17:42 ` Jens Axboe 2017-01-23 17:42 ` Jens Axboe 2017-01-25 8:46 ` Paolo Valente 2017-01-25 8:46 ` Paolo Valente 2017-01-25 16:13 ` Jens Axboe 2017-01-25 16:13 ` Jens Axboe 2017-01-26 14:23 ` Paolo Valente 2017-01-26 14:23 ` Paolo Valente 2016-12-22 16:23 ` Bart Van Assche 2016-12-22 16:52 ` Omar Sandoval 2016-12-22 16:52 ` Omar Sandoval 2016-12-22 16:57 ` Bart Van Assche 2016-12-22 16:57 ` Bart Van Assche 2016-12-22 17:12 ` Omar Sandoval 2016-12-22 17:39 ` Bart Van Assche 2016-12-22 17:39 ` Bart Van Assche
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=1482321550.2644.10.camel@sandisk.com \ --to=bart.vanassche@sandisk.com \ --cc=axboe@fb.com \ --cc=axboe@kernel.dk \ --cc=linux-block@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=osandov@fb.com \ --cc=paolo.valente@linaro.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
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.