> 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. > Don't use in_interrupt() to guide any of > your decision making here. > Of course, sorry for these silly mistakes. Thanks, Paolo > -- > Jens Axboe >