On 03/15/2017 11:02 AM, Paolo Valente wrote: > >> Il giorno 15 mar 2017, alle ore 17:56, Jens Axboe <axboe@xxxxxxxxx> 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