|
@@ -647,6 +647,43 @@ out:
|
|
|
}
|
|
|
EXPORT_SYMBOL(padata_set_cpumask);
|
|
|
|
|
|
+/**
|
|
|
+ * padata_start - start the parallel processing
|
|
|
+ *
|
|
|
+ * @pinst: padata instance to start
|
|
|
+ */
|
|
|
+int padata_start(struct padata_instance *pinst)
|
|
|
+{
|
|
|
+ int err = 0;
|
|
|
+
|
|
|
+ mutex_lock(&pinst->lock);
|
|
|
+
|
|
|
+ if (pinst->flags & PADATA_INVALID)
|
|
|
+ err = -EINVAL;
|
|
|
+
|
|
|
+ __padata_start(pinst);
|
|
|
+
|
|
|
+ mutex_unlock(&pinst->lock);
|
|
|
+
|
|
|
+ return err;
|
|
|
+}
|
|
|
+EXPORT_SYMBOL(padata_start);
|
|
|
+
|
|
|
+/**
|
|
|
+ * padata_stop - stop the parallel processing
|
|
|
+ *
|
|
|
+ * @pinst: padata instance to stop
|
|
|
+ */
|
|
|
+void padata_stop(struct padata_instance *pinst)
|
|
|
+{
|
|
|
+ mutex_lock(&pinst->lock);
|
|
|
+ __padata_stop(pinst);
|
|
|
+ mutex_unlock(&pinst->lock);
|
|
|
+}
|
|
|
+EXPORT_SYMBOL(padata_stop);
|
|
|
+
|
|
|
+#ifdef CONFIG_HOTPLUG_CPU
|
|
|
+
|
|
|
static int __padata_add_cpu(struct padata_instance *pinst, int cpu)
|
|
|
{
|
|
|
struct parallel_data *pd;
|
|
@@ -726,43 +763,6 @@ int padata_remove_cpu(struct padata_instance *pinst, int cpu, int mask)
|
|
|
}
|
|
|
EXPORT_SYMBOL(padata_remove_cpu);
|
|
|
|
|
|
-/**
|
|
|
- * padata_start - start the parallel processing
|
|
|
- *
|
|
|
- * @pinst: padata instance to start
|
|
|
- */
|
|
|
-int padata_start(struct padata_instance *pinst)
|
|
|
-{
|
|
|
- int err = 0;
|
|
|
-
|
|
|
- mutex_lock(&pinst->lock);
|
|
|
-
|
|
|
- if (pinst->flags & PADATA_INVALID)
|
|
|
- err =-EINVAL;
|
|
|
-
|
|
|
- __padata_start(pinst);
|
|
|
-
|
|
|
- mutex_unlock(&pinst->lock);
|
|
|
-
|
|
|
- return err;
|
|
|
-}
|
|
|
-EXPORT_SYMBOL(padata_start);
|
|
|
-
|
|
|
-/**
|
|
|
- * padata_stop - stop the parallel processing
|
|
|
- *
|
|
|
- * @pinst: padata instance to stop
|
|
|
- */
|
|
|
-void padata_stop(struct padata_instance *pinst)
|
|
|
-{
|
|
|
- mutex_lock(&pinst->lock);
|
|
|
- __padata_stop(pinst);
|
|
|
- mutex_unlock(&pinst->lock);
|
|
|
-}
|
|
|
-EXPORT_SYMBOL(padata_stop);
|
|
|
-
|
|
|
-#ifdef CONFIG_HOTPLUG_CPU
|
|
|
-
|
|
|
static inline int pinst_has_cpu(struct padata_instance *pinst, int cpu)
|
|
|
{
|
|
|
return cpumask_test_cpu(cpu, pinst->cpumask.pcpu) ||
|