* [PATCH] Revert "local_t Documentation update"
@ 2008-01-17 1:43 Li Zefan
2008-01-17 1:48 ` Mathieu Desnoyers
0 siblings, 1 reply; 3+ messages in thread
From: Li Zefan @ 2008-01-17 1:43 UTC (permalink / raw)
To: Andrew Morton; +Cc: mathieu.desnoyers, LKML
This reverts commit e1265205c0ee3919c3f2c750662630154c8faab2.
It's a duplicate commit of commit 74beb9db77930be476b267ec8518a642f39a04bf,
resulting in a duplicate section.
Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
---
Documentation/local_ops.txt | 23 -----------------------
1 files changed, 0 insertions(+), 23 deletions(-)
diff --git a/Documentation/local_ops.txt b/Documentation/local_ops.txt
index 1a45f11..4269a11 100644
--- a/Documentation/local_ops.txt
+++ b/Documentation/local_ops.txt
@@ -68,29 +68,6 @@ typedef struct { atomic_long_t a; } local_t;
variable can be read when reading some _other_ cpu's variables.
-* Rules to follow when using local atomic operations
-
-- Variables touched by local ops must be per cpu variables.
-- _Only_ the CPU owner of these variables must write to them.
-- This CPU can use local ops from any context (process, irq, softirq, nmi, ...)
- to update its local_t variables.
-- Preemption (or interrupts) must be disabled when using local ops in
- process context to make sure the process won't be migrated to a
- different CPU between getting the per-cpu variable and doing the
- actual local op.
-- When using local ops in interrupt context, no special care must be
- taken on a mainline kernel, since they will run on the local CPU with
- preemption already disabled. I suggest, however, to explicitly
- disable preemption anyway to make sure it will still work correctly on
- -rt kernels.
-- Reading the local cpu variable will provide the current copy of the
- variable.
-- Reads of these variables can be done from any CPU, because updates to
- "long", aligned, variables are always atomic. Since no memory
- synchronization is done by the writer CPU, an outdated copy of the
- variable can be read when reading some _other_ cpu's variables.
-
-
* How to use local atomic operations
#include <linux/percpu.h>
--
1.5.3.rc7
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] Revert "local_t Documentation update"
2008-01-17 1:43 [PATCH] Revert "local_t Documentation update" Li Zefan
@ 2008-01-17 1:48 ` Mathieu Desnoyers
2008-01-17 1:55 ` Li Zefan
0 siblings, 1 reply; 3+ messages in thread
From: Mathieu Desnoyers @ 2008-01-17 1:48 UTC (permalink / raw)
To: Li Zefan; +Cc: Andrew Morton, LKML
* Li Zefan (lizf@cn.fujitsu.com) wrote:
> This reverts commit e1265205c0ee3919c3f2c750662630154c8faab2.
>
> It's a duplicate commit of commit 74beb9db77930be476b267ec8518a642f39a04bf,
> resulting in a duplicate section.
>
> Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
>
Thanks, I guess it's been merged twice somehow :S
Acked-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
> ---
> Documentation/local_ops.txt | 23 -----------------------
> 1 files changed, 0 insertions(+), 23 deletions(-)
>
> diff --git a/Documentation/local_ops.txt b/Documentation/local_ops.txt
> index 1a45f11..4269a11 100644
> --- a/Documentation/local_ops.txt
> +++ b/Documentation/local_ops.txt
> @@ -68,29 +68,6 @@ typedef struct { atomic_long_t a; } local_t;
> variable can be read when reading some _other_ cpu's variables.
>
>
> -* Rules to follow when using local atomic operations
> -
> -- Variables touched by local ops must be per cpu variables.
> -- _Only_ the CPU owner of these variables must write to them.
> -- This CPU can use local ops from any context (process, irq, softirq, nmi, ...)
> - to update its local_t variables.
> -- Preemption (or interrupts) must be disabled when using local ops in
> - process context to make sure the process won't be migrated to a
> - different CPU between getting the per-cpu variable and doing the
> - actual local op.
> -- When using local ops in interrupt context, no special care must be
> - taken on a mainline kernel, since they will run on the local CPU with
> - preemption already disabled. I suggest, however, to explicitly
> - disable preemption anyway to make sure it will still work correctly on
> - -rt kernels.
> -- Reading the local cpu variable will provide the current copy of the
> - variable.
> -- Reads of these variables can be done from any CPU, because updates to
> - "long", aligned, variables are always atomic. Since no memory
> - synchronization is done by the writer CPU, an outdated copy of the
> - variable can be read when reading some _other_ cpu's variables.
> -
> -
> * How to use local atomic operations
>
> #include <linux/percpu.h>
> --
> 1.5.3.rc7
>
--
Mathieu Desnoyers
Computer Engineering Ph.D. Student, Ecole Polytechnique de Montreal
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F BA06 3F25 A8FE 3BAE 9A68
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] Revert "local_t Documentation update"
2008-01-17 1:48 ` Mathieu Desnoyers
@ 2008-01-17 1:55 ` Li Zefan
0 siblings, 0 replies; 3+ messages in thread
From: Li Zefan @ 2008-01-17 1:55 UTC (permalink / raw)
To: Mathieu Desnoyers; +Cc: Andrew Morton, LKML
Mathieu Desnoyers wrote:
> * Li Zefan (lizf@cn.fujitsu.com) wrote:
>> This reverts commit e1265205c0ee3919c3f2c750662630154c8faab2.
>>
>> It's a duplicate commit of commit 74beb9db77930be476b267ec8518a642f39a04bf,
>> resulting in a duplicate section.
>>
>> Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
>>
>
> Thanks, I guess it's been merged twice somehow :S
>
> Acked-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
>
Yeap, I guess so.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2008-01-17 1:56 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-01-17 1:43 [PATCH] Revert "local_t Documentation update" Li Zefan
2008-01-17 1:48 ` Mathieu Desnoyers
2008-01-17 1:55 ` Li Zefan
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox