Re: [PATCH 05/15] block: simplify elevator reset for updating nr_hw_queues

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

 



On Thu, Apr 10, 2025 at 09:30:17PM +0800, Ming Lei wrote:
> @@ -5071,9 +4984,15 @@ static void __blk_mq_update_nr_hw_queues(struct blk_mq_tag_set *set,
>  		blk_mq_debugfs_register_hctxs(q);
>  	}
>  
> -switch_back:
> -	list_for_each_entry(q, &set->tag_list, tag_set_list)
> -		blk_mq_elv_switch_back(&head, q);
> +	list_for_each_entry(q, &set->tag_list, tag_set_list) {
> +		const char *name = "none";
> +
> +		mutex_lock(&q->elevator_lock);
> +		if (q->elevator && !blk_queue_dying(q))
> +			name = q->elevator->type->elevator_name;
> +		__elevator_change(q, name, true);
> +		mutex_unlock(&q->elevator_lock);
> +	}

Coming back to this after looking through the next patches.

Why do we even need the __elevator_change call here?  We've not
actually disabled the elevator, and we prevent other callers
from changing it.

As you pass in the force argument this now always calls
elevator_switch and thus blk_mq_init_sched.  But why?





[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