Lines Matching +full:on +full:- +full:the +full:- +full:fly
1 /* SPDX-License-Identifier: GPL-2.0-only */
3 * padata.h - header for the padata parallelization interface
26 * struct padata_priv - Represents one job
28 * @list: List entry, to attach to the padata lists.
29 * @pd: Pointer to the internal control structure.
31 * @seq_nr: Sequence number of the parallelized data object.
32 * @info: Used to pass information from the parallel to the serial function.
47 * struct padata_list - one per work type per CPU
58 * struct padata_serial_queue - The percpu padata serial queue
62 * @pd: Backpointer to the internal control structure.
71 * struct padata_cpumask - The cpumasks for the parallel/serial workers
73 * @pcpu: cpumask for the parallel workers.
74 * @cbcpu: cpumask for the serial (callback) workers.
82 * struct parallel_data - Internal control structure, covers everything
83 * that depends on the cpumask in use.
88 * @refcnt: Number of objects holding a reference on this parallel_data.
89 * @seq_nr: Sequence number of the parallelized data object.
92 * @cpumask: The cpumasks in use for parallel and serial workers.
110 * struct padata_shell - Wrapper around struct parallel_data, its
111 * purpose is to allow the underlying control structure to be replaced
112 * on the fly using RCU.
115 * @pd: Actual parallel_data structure which may be substituted on the fly.
127 * struct padata_mt_job - represents one multithreaded job
130 * @fn_arg: The thread function argument.
131 * @start: The start of the job (units are job-specific).
132 * @size: size of this node's work (units are job-specific).
133 * @align: Ranges passed to the thread function fall on this boundary, with the
134 * possible exceptions of the beginning and end of the job.
135 * @min_chunk: The minimum chunk size in job-specific units. This allows
136 * the client to communicate the minimum amount of work that's
138 * @max_threads: Max threads to use for the job, actual number may be less
139 * depending on task size and minimum chunk size.
154 * struct padata_instance - The overall control structure.
158 * @parallel_wq: The workqueue used for parallel work.
159 * @serial_wq: The workqueue used for serial work.
197 job->thread_fn(job->start, job->start + job->size, job->fn_arg); in padata_do_multithreaded()