Re: Unintuitive scheduling results using BFQ

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.

-- 
Jens Axboe




[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux