Commit bfcdcef8 authored by Daniel Jordan's avatar Daniel Jordan Committed by Herbert Xu

padata: update documentation

Remove references to unused functions, standardize language, update to
reflect new functionality, migrate to rst format, and fix all kernel-doc
warnings.

Fixes: 815613da ("kernel/padata.c: removed unused code")
Signed-off-by: default avatarDaniel Jordan <daniel.m.jordan@oracle.com>
Cc: Eric Biggers <ebiggers@kernel.org>
Cc: Herbert Xu <herbert@gondor.apana.org.au>
Cc: Jonathan Corbet <corbet@lwn.net>
Cc: Steffen Klassert <steffen.klassert@secunet.com>
Cc: linux-crypto@vger.kernel.org
Cc: linux-doc@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: default avatarDaniel Jordan <daniel.m.jordan@oracle.com>
Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
parent 3facced7
...@@ -39,6 +39,7 @@ Core utilities ...@@ -39,6 +39,7 @@ Core utilities
../RCU/index ../RCU/index
gcc-plugins gcc-plugins
symbol-namespaces symbol-namespaces
padata
Interfaces for kernel debugging Interfaces for kernel debugging
......
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
#define PADATA_CPU_PARALLEL 0x02 #define PADATA_CPU_PARALLEL 0x02
/** /**
* struct padata_priv - Embedded to the users data structure. * struct padata_priv - Represents one job
* *
* @list: List entry, to attach to the padata lists. * @list: List entry, to attach to the padata lists.
* @pd: Pointer to the internal control structure. * @pd: Pointer to the internal control structure.
...@@ -42,7 +42,7 @@ struct padata_priv { ...@@ -42,7 +42,7 @@ struct padata_priv {
}; };
/** /**
* struct padata_list * struct padata_list - one per work type per CPU
* *
* @list: List head. * @list: List head.
* @lock: List lock. * @lock: List lock.
...@@ -70,9 +70,6 @@ struct padata_serial_queue { ...@@ -70,9 +70,6 @@ struct padata_serial_queue {
* *
* @parallel: List to wait for parallelization. * @parallel: List to wait for parallelization.
* @reorder: List to wait for reordering after parallel processing. * @reorder: List to wait for reordering after parallel processing.
* @serial: List to wait for serialization after reordering.
* @pwork: work struct for parallelization.
* @swork: work struct for serialization.
* @work: work struct for parallelization. * @work: work struct for parallelization.
* @num_obj: Number of objects that are processed by this cpu. * @num_obj: Number of objects that are processed by this cpu.
*/ */
...@@ -98,11 +95,11 @@ struct padata_cpumask { ...@@ -98,11 +95,11 @@ struct padata_cpumask {
* struct parallel_data - Internal control structure, covers everything * struct parallel_data - Internal control structure, covers everything
* that depends on the cpumask in use. * that depends on the cpumask in use.
* *
* @sh: padata_shell object. * @ps: padata_shell object.
* @pqueue: percpu padata queues used for parallelization. * @pqueue: percpu padata queues used for parallelization.
* @squeue: percpu padata queues used for serialuzation. * @squeue: percpu padata queues used for serialuzation.
* @refcnt: Number of objects holding a reference on this parallel_data. * @refcnt: Number of objects holding a reference on this parallel_data.
* @max_seq_nr: Maximal used sequence number. * @seq_nr: Sequence number of the parallelized data object.
* @processed: Number of already processed objects. * @processed: Number of already processed objects.
* @cpu: Next CPU to be processed. * @cpu: Next CPU to be processed.
* @cpumask: The cpumasks in use for parallel and serial workers. * @cpumask: The cpumasks in use for parallel and serial workers.
...@@ -119,7 +116,7 @@ struct parallel_data { ...@@ -119,7 +116,7 @@ struct parallel_data {
int cpu; int cpu;
struct padata_cpumask cpumask; struct padata_cpumask cpumask;
struct work_struct reorder_work; struct work_struct reorder_work;
spinlock_t lock ____cacheline_aligned; spinlock_t ____cacheline_aligned lock;
}; };
/** /**
...@@ -142,7 +139,7 @@ struct padata_shell { ...@@ -142,7 +139,7 @@ struct padata_shell {
/** /**
* struct padata_instance - The overall control structure. * struct padata_instance - The overall control structure.
* *
* @cpu_notifier: cpu hotplug notifier. * @node: Used by CPU hotplug.
* @parallel_wq: The workqueue used for parallel work. * @parallel_wq: The workqueue used for parallel work.
* @serial_wq: The workqueue used for serial work. * @serial_wq: The workqueue used for serial work.
* @pslist: List of padata_shell objects attached to this instance. * @pslist: List of padata_shell objects attached to this instance.
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
/* /*
* padata.c - generic interface to process data streams in parallel * padata.c - generic interface to process data streams in parallel
* *
* See Documentation/padata.txt for an api documentation. * See Documentation/core-api/padata.rst for more information.
* *
* Copyright (C) 2008, 2009 secunet Security Networks AG * Copyright (C) 2008, 2009 secunet Security Networks AG
* Copyright (C) 2008, 2009 Steffen Klassert <steffen.klassert@secunet.com> * Copyright (C) 2008, 2009 Steffen Klassert <steffen.klassert@secunet.com>
...@@ -99,6 +99,8 @@ static void padata_parallel_worker(struct work_struct *parallel_work) ...@@ -99,6 +99,8 @@ static void padata_parallel_worker(struct work_struct *parallel_work)
* The parallelization callback function will run with BHs off. * The parallelization callback function will run with BHs off.
* Note: Every object which is parallelized by padata_do_parallel * Note: Every object which is parallelized by padata_do_parallel
* must be seen by padata_do_serial. * must be seen by padata_do_serial.
*
* Return: 0 on success or else negative error code.
*/ */
int padata_do_parallel(struct padata_shell *ps, int padata_do_parallel(struct padata_shell *ps,
struct padata_priv *padata, int *cb_cpu) struct padata_priv *padata, int *cb_cpu)
...@@ -163,14 +165,12 @@ EXPORT_SYMBOL(padata_do_parallel); ...@@ -163,14 +165,12 @@ EXPORT_SYMBOL(padata_do_parallel);
/* /*
* padata_find_next - Find the next object that needs serialization. * padata_find_next - Find the next object that needs serialization.
* *
* Return values are: * Return:
* * * A pointer to the control struct of the next object that needs
* A pointer to the control struct of the next object that needs * serialization, if present in one of the percpu reorder queues.
* serialization, if present in one of the percpu reorder queues. * * NULL, if the next object that needs serialization will
* * be parallel processed by another cpu and is not yet present in
* NULL, if the next object that needs serialization will * the cpu's reorder queue.
* be parallel processed by another cpu and is not yet present in
* the cpu's reorder queue.
*/ */
static struct padata_priv *padata_find_next(struct parallel_data *pd, static struct padata_priv *padata_find_next(struct parallel_data *pd,
bool remove_object) bool remove_object)
...@@ -582,13 +582,14 @@ static int __padata_set_cpumasks(struct padata_instance *pinst, ...@@ -582,13 +582,14 @@ static int __padata_set_cpumasks(struct padata_instance *pinst,
} }
/** /**
* padata_set_cpumask: Sets specified by @cpumask_type cpumask to the value * padata_set_cpumask - Sets specified by @cpumask_type cpumask to the value
* equivalent to @cpumask. * equivalent to @cpumask.
*
* @pinst: padata instance * @pinst: padata instance
* @cpumask_type: PADATA_CPU_SERIAL or PADATA_CPU_PARALLEL corresponding * @cpumask_type: PADATA_CPU_SERIAL or PADATA_CPU_PARALLEL corresponding
* to parallel and serial cpumasks respectively. * to parallel and serial cpumasks respectively.
* @cpumask: the cpumask to use * @cpumask: the cpumask to use
*
* Return: 0 on success or negative error code
*/ */
int padata_set_cpumask(struct padata_instance *pinst, int cpumask_type, int padata_set_cpumask(struct padata_instance *pinst, int cpumask_type,
cpumask_var_t cpumask) cpumask_var_t cpumask)
...@@ -626,6 +627,8 @@ EXPORT_SYMBOL(padata_set_cpumask); ...@@ -626,6 +627,8 @@ EXPORT_SYMBOL(padata_set_cpumask);
* padata_start - start the parallel processing * padata_start - start the parallel processing
* *
* @pinst: padata instance to start * @pinst: padata instance to start
*
* Return: 0 on success or negative error code
*/ */
int padata_start(struct padata_instance *pinst) int padata_start(struct padata_instance *pinst)
{ {
...@@ -880,6 +883,8 @@ static struct kobj_type padata_attr_type = { ...@@ -880,6 +883,8 @@ static struct kobj_type padata_attr_type = {
* @name: used to identify the instance * @name: used to identify the instance
* @pcpumask: cpumask that will be used for padata parallelization * @pcpumask: cpumask that will be used for padata parallelization
* @cbcpumask: cpumask that will be used for padata serialization * @cbcpumask: cpumask that will be used for padata serialization
*
* Return: new instance on success, NULL on error
*/ */
static struct padata_instance *padata_alloc(const char *name, static struct padata_instance *padata_alloc(const char *name,
const struct cpumask *pcpumask, const struct cpumask *pcpumask,
...@@ -967,6 +972,8 @@ static struct padata_instance *padata_alloc(const char *name, ...@@ -967,6 +972,8 @@ static struct padata_instance *padata_alloc(const char *name,
* parallel workers. * parallel workers.
* *
* @name: used to identify the instance * @name: used to identify the instance
*
* Return: new instance on success, NULL on error
*/ */
struct padata_instance *padata_alloc_possible(const char *name) struct padata_instance *padata_alloc_possible(const char *name)
{ {
...@@ -977,7 +984,7 @@ EXPORT_SYMBOL(padata_alloc_possible); ...@@ -977,7 +984,7 @@ EXPORT_SYMBOL(padata_alloc_possible);
/** /**
* padata_free - free a padata instance * padata_free - free a padata instance
* *
* @padata_inst: padata instance to free * @pinst: padata instance to free
*/ */
void padata_free(struct padata_instance *pinst) void padata_free(struct padata_instance *pinst)
{ {
...@@ -989,6 +996,8 @@ EXPORT_SYMBOL(padata_free); ...@@ -989,6 +996,8 @@ EXPORT_SYMBOL(padata_free);
* padata_alloc_shell - Allocate and initialize padata shell. * padata_alloc_shell - Allocate and initialize padata shell.
* *
* @pinst: Parent padata_instance object. * @pinst: Parent padata_instance object.
*
* Return: new shell on success, NULL on error
*/ */
struct padata_shell *padata_alloc_shell(struct padata_instance *pinst) struct padata_shell *padata_alloc_shell(struct padata_instance *pinst)
{ {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment