All of lore.kernel.org
 help / color / mirror / Atom feed
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.

  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: link
Be 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.