Re: Re [PATCH] Adding multiple workers to the loop device.

From: Bart Van Assche
Date: Tue Jan 21 2020 - 23:02:07 EST


On 2020-01-21 12:10, muraliraja.muniraju wrote:
> + for (i = 0; i < lo->num_loop_workers; i++) {
> + kthread_init_worker(&(lo->workers[i]));
> + lo->worker_tasks[i] = kthread_run(
> + loop_kthread_worker_fn, &(lo->workers[i]),
> + "loop%d(%d)", lo->lo_number, i);
> + if (IS_ERR((lo->worker_tasks[i])))
> + goto err;
> + set_user_nice(lo->worker_tasks[i], MIN_NICE);
> + }

Unless if there is a really good reason, the workqueue mechanism should
be used instead of creating kthreads. And again unless if there is a
really good reason, one of the system workqueues (e.g. system_wq) should
be used instead of creating dedicated workqueues.

Bart.