2010-08-06 18:26:35

by Namhyung Kim

[permalink] [raw]
Subject: [PATCH 2/5] percpu: fix dynamic percpu allocators on UP

handle __percpu address space correctly in dynamic allocators of UP

Signed-off-by: Namhyung Kim <[email protected]>
---
mm/percpu_up.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/mm/percpu_up.c b/mm/percpu_up.c
index c4351c7..d599db4 100644
--- a/mm/percpu_up.c
+++ b/mm/percpu_up.c
@@ -14,13 +14,13 @@ void __percpu *__alloc_percpu(size_t size, size_t align)
* percpu sections on SMP for which this path isn't used.
*/
WARN_ON_ONCE(align > SMP_CACHE_BYTES);
- return kzalloc(size, GFP_KERNEL);
+ return (void __percpu __force *) kzalloc(size, GFP_KERNEL);
}
EXPORT_SYMBOL_GPL(__alloc_percpu);

void free_percpu(void __percpu *p)
{
- kfree(p);
+ kfree(this_cpu_ptr(p));
}
EXPORT_SYMBOL_GPL(free_percpu);

--
1.7.0.4


2010-08-07 12:27:05

by Tejun Heo

[permalink] [raw]
Subject: [PATCH] percpu: add __percpu notations to UP allocator

>From 94cb121c9483f1ec9b1ef0c249fbfc49c628fa6b Mon Sep 17 00:00:00 2001
From: Namhyung Kim <[email protected]>
Date: Sat, 7 Aug 2010 03:26:24 +0900

Add __percpu notations to UP percpu allocator.

Signed-off-by: Namhyung Kim <[email protected]>
Signed-off-by: Tejun Heo <[email protected]>
---
Applied to percpu#for-linus w/ slight commit description updates.

Thanks.

mm/percpu_up.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/mm/percpu_up.c b/mm/percpu_up.c
index c4351c7..db884fa 100644
--- a/mm/percpu_up.c
+++ b/mm/percpu_up.c
@@ -14,13 +14,13 @@ void __percpu *__alloc_percpu(size_t size, size_t align)
* percpu sections on SMP for which this path isn't used.
*/
WARN_ON_ONCE(align > SMP_CACHE_BYTES);
- return kzalloc(size, GFP_KERNEL);
+ return (void __percpu __force *)kzalloc(size, GFP_KERNEL);
}
EXPORT_SYMBOL_GPL(__alloc_percpu);

void free_percpu(void __percpu *p)
{
- kfree(p);
+ kfree(this_cpu_ptr(p));
}
EXPORT_SYMBOL_GPL(free_percpu);

--
1.7.1