Lines Matching +full:per +full:- +full:context
29 Local atomic operations are meant to provide fast and highly reentrant per CPU
34 Having fast per CPU atomic counters is interesting in many cases: it does not
41 CPU writes to the ``local_t`` data. This is done by using per cpu data and
42 making sure that we modify it from within a preemption safe context. It is
54 ``asm-generic/local.h`` in your architecture's ``local.h`` is sufficient.
66 * Variables touched by local ops must be per cpu variables.
68 * This CPU can use local ops from any context (process, irq, softirq, nmi, ...)
71 process context to make sure the process won't be migrated to a
72 different CPU between getting the per-cpu variable and doing the
74 * When using local ops in interrupt context, no special care must be
78 -rt kernels.
103 In preemptible context, use ``get_cpu_var()`` and ``put_cpu_var()`` around
105 access to the per cpu variable. For instance::
110 If you are already in a preemption-safe context, you can use
136 Here is a sample module which implements a basic per cpu counter using
139 /* test-local.c
156 /* Increment the counter from a non preemptible context */
161 * preemptible context (it disables preemption) :