]> git.ipfire.org Git - people/arne_f/kernel.git/blobdiff - lib/percpu_counter.c
i2c: i801: Fix resume bug
[people/arne_f/kernel.git] / lib / percpu_counter.c
index 8ee7e5ec21be23f658323a9cea840e3d7fb41ce6..c72577e472f2f2929f825b0c105a237f54c42971 100644 (file)
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  * Fast batching percpu counters.
  */
@@ -72,6 +73,13 @@ void percpu_counter_set(struct percpu_counter *fbc, s64 amount)
 }
 EXPORT_SYMBOL(percpu_counter_set);
 
+/**
+ * This function is both preempt and irq safe. The former is due to explicit
+ * preemption disable. The latter is guaranteed by the fact that the slow path
+ * is explicitly protected by an irq-safe spinlock whereas the fast patch uses
+ * this_cpu_add which is irq-safe by definition. Hence there is no need muck
+ * with irq state before calling this one
+ */
 void percpu_counter_add_batch(struct percpu_counter *fbc, s64 amount, s32 batch)
 {
        s64 count;