Thread (53 messages) 53 messages, 5 authors, 2017-03-31

Re: [PATCH RFC 10/14] block, bfq: add Early Queue Merge (EQM)

From: Paolo Valente <hidden>
Date: 2017-03-15 17:03:29
Also in: lkml

Il giorno 15 mar 2017, alle ore 17:56, Jens Axboe [off-list ref] ha =
scritto:
=20
On 03/04/2017 09:01 AM, Paolo Valente wrote:
quoted
@@ -6330,7 +7012,41 @@ static void bfq_rq_enqueued(struct bfq_data =
*bfqd, struct bfq_queue *bfqq,
quoted
=20
static void __bfq_insert_request(struct bfq_data *bfqd, struct =
request *rq)
quoted
{
-	struct bfq_queue *bfqq =3D RQ_BFQQ(rq);
+	struct bfq_queue *bfqq =3D RQ_BFQQ(rq), *new_bfqq;
+
+	/*
+	 * An unplug may trigger a requeue of a request from the device
+	 * driver: make sure we are in process context while trying to
+	 * merge two bfq_queues.
+	 */
+	if (!in_interrupt()) {
=20
What's the reason for this?
None :(

Just pre-existing, working code that I did not update, sorry.
Don't use in_interrupt() to guide any of
your decision making here.
=20
Of course, sorry for these silly mistakes.

Thanks,
Paolo
--=20
Jens Axboe
=20
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help