> Il giorno 18 dic 2018, alle ore 19:08, Jens Axboe <axboe@xxxxxxxxx> ha scritto: > > On 12/18/18 11:04 AM, Paolo Valente wrote: >> static bool bfq_symmetric_scenario(struct bfq_data *bfqd) >> { >> - return !bfq_varied_queue_weights_or_active_groups(bfqd); >> + /* >> + * For queue weights to differ, queue_weights_tree must contain >> + * at least two nodes. >> + */ >> + bool varied_queue_weights = !RB_EMPTY_ROOT(&bfqd->queue_weights_tree) && >> + (bfqd->queue_weights_tree.rb_node->rb_left || >> + bfqd->queue_weights_tree.rb_node->rb_right); >> + >> + bool multiple_classes_busy = >> + (bfqd->busy_queues[0] & bfqd->busy_queues[1]) | >> + (bfqd->busy_queues[0] & bfqd->busy_queues[2]) | >> + (bfqd->busy_queues[1] & bfqd->busy_queues[2]); > > I don't think this does what you want it to, looks like these should be > logical AND and OR. > Absolutely, sorry. Fortunately, the end result is still correct :) I'll fix this mess in the final patch. Thanks, Paolo > -- > Jens Axboe >