cfq-iosched: simplify control flow in cfq_get_queue()
cfq_get_queue()'s control flow looks like the following.
	async_cfqq = NULL;
	cfqq = NULL;
	if (!is_sync) {
		...
		async_cfqq = ...;
		cfqq = *async_cfqq;
	}
	if (!cfqq)
		cfqq = ...;
	if (!is_sync && !(*async_cfqq))
		...;
The only thing the local variable init, the second if, and the
async_cfqq test in the third if achieves is to skip cfqq creation and
installation if *async_cfqq was already non-NULL.  This is needlessly
complicated with different tests examining the same condition.
Simplify it to the following.
	if (!is_sync) {
		...
		async_cfqq = ...;
		cfqq = *async_cfqq;
		if (cfqq)
			goto out;
	}
	cfqq = ...;
	if (!is_sync)
		...;
 out:
Signed-off-by: 
Tejun Heo <tj@kernel.org>
Acked-by: 
Jeff Moyer <jmoyer@redhat.com>
Cc: Vivek Goyal <vgoyal@redhat.com>
Cc: Arianna Avanzini <avanzini.arianna@gmail.com>
Signed-off-by: 
Jens Axboe <axboe@fb.com>
Loading
Please register or sign in to comment