Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1601557 > unrolled thread

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

Started byJens Axboe <axboe@kernel.dk>
First post2017-03-15 18:00 +0100
Last post2017-03-15 22:10 +0100
Articles 3 — 2 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: [PATCH RFC 10/14] block, bfq: add Early Queue Merge (EQM) Jens Axboe <axboe@kernel.dk> - 2017-03-15 18:00 +0100
    Re: [PATCH RFC 10/14] block, bfq: add Early Queue Merge (EQM) Paolo Valente <paolo.valente@linaro.org> - 2017-03-15 18:10 +0100
      Re: [PATCH RFC 10/14] block, bfq: add Early Queue Merge (EQM) Jens Axboe <axboe@kernel.dk> - 2017-03-15 22:10 +0100

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

FromJens Axboe <axboe@kernel.dk>
Date2017-03-15 18:00 +0100
SubjectRe: [PATCH RFC 10/14] block, bfq: add Early Queue Merge (EQM)
Message-ID<tlkrf-1Wi-3@gated-at.bofh.it>
On 03/04/2017 09:01 AM, Paolo Valente wrote:
> @@ -6330,7 +7012,41 @@ static void bfq_rq_enqueued(struct bfq_data *bfqd, struct bfq_queue *bfqq,
>  
>  static void __bfq_insert_request(struct bfq_data *bfqd, struct request *rq)
>  {
> -	struct bfq_queue *bfqq = RQ_BFQQ(rq);
> +	struct bfq_queue *bfqq = 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()) {

What's the reason for this? Don't use in_interrupt() to guide any of
your decision making here.

-- 
Jens Axboe

[toc] | [next] | [standalone]


#1601569

FromPaolo Valente <paolo.valente@linaro.org>
Date2017-03-15 18:10 +0100
Message-ID<tlkAW-2eY-7@gated-at.bofh.it>
In reply to#1601557
> Il giorno 15 mar 2017, alle ore 17:56, Jens Axboe <axboe@kernel.dk> ha scritto:
> 
> On 03/04/2017 09:01 AM, Paolo Valente wrote:
>> @@ -6330,7 +7012,41 @@ static void bfq_rq_enqueued(struct bfq_data *bfqd, struct bfq_queue *bfqq,
>> 
>> static void __bfq_insert_request(struct bfq_data *bfqd, struct request *rq)
>> {
>> -	struct bfq_queue *bfqq = RQ_BFQQ(rq);
>> +	struct bfq_queue *bfqq = 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()) {
> 
> 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.
> 

Of course, sorry for these silly mistakes.

Thanks,
Paolo

> -- 
> Jens Axboe
> 

[toc] | [prev] | [next] | [standalone]


#1601738

FromJens Axboe <axboe@kernel.dk>
Date2017-03-15 22:10 +0100
Message-ID<tlolc-4TJ-13@gated-at.bofh.it>
In reply to#1601569
On 03/15/2017 11:02 AM, Paolo Valente wrote:
> 
>> Il giorno 15 mar 2017, alle ore 17:56, Jens Axboe <axboe@kernel.dk> ha scritto:
>>
>> On 03/04/2017 09:01 AM, Paolo Valente wrote:
>>> @@ -6330,7 +7012,41 @@ static void bfq_rq_enqueued(struct bfq_data *bfqd, struct bfq_queue *bfqq,
>>>
>>> static void __bfq_insert_request(struct bfq_data *bfqd, struct request *rq)
>>> {
>>> -	struct bfq_queue *bfqq = RQ_BFQQ(rq);
>>> +	struct bfq_queue *bfqq = 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()) {
>>
>> What's the reason for this?
> 
> None :(
> 
> Just pre-existing, working code that I did not update, sorry.

OK good, then that check can simply be killed.

-- 
Jens Axboe

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web