public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [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