Signed-off-by: Namhyung Kim <[email protected]>
---
kernel/workqueue.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/kernel/workqueue.c b/kernel/workqueue.c
index 327d2de..bb030e3 100644
--- a/kernel/workqueue.c
+++ b/kernel/workqueue.c
@@ -57,7 +57,7 @@ struct cpu_workqueue_struct {
* per-CPU workqueues:
*/
struct workqueue_struct {
- struct cpu_workqueue_struct *cpu_wq;
+ struct cpu_workqueue_struct __percpu *cpu_wq;
struct list_head list;
const char *name;
int singlethread;
@@ -821,7 +821,7 @@ int schedule_on_each_cpu(work_func_t func)
{
int cpu;
int orig = -1;
- struct work_struct *works;
+ struct work_struct __percpu *works;
works = alloc_percpu(struct work_struct);
if (!works)
--
1.7.0.4
On 08/06/2010 08:26 PM, Namhyung Kim wrote:
> Signed-off-by: Namhyung Kim <[email protected]>
> ---
> kernel/workqueue.c | 4 ++--
> 1 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/kernel/workqueue.c b/kernel/workqueue.c
> index 327d2de..bb030e3 100644
> --- a/kernel/workqueue.c
> +++ b/kernel/workqueue.c
> @@ -57,7 +57,7 @@ struct cpu_workqueue_struct {
> * per-CPU workqueues:
> */
> struct workqueue_struct {
> - struct cpu_workqueue_struct *cpu_wq;
> + struct cpu_workqueue_struct __percpu *cpu_wq;
> struct list_head list;
> const char *name;
> int singlethread;
> @@ -821,7 +821,7 @@ int schedule_on_each_cpu(work_func_t func)
> {
> int cpu;
> int orig = -1;
> - struct work_struct *works;
> + struct work_struct __percpu *works;
>
> works = alloc_percpu(struct work_struct);
> if (!works)
Can you please redo this patch against the following git tree?
git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq.git for-linus
Thanks.
--
tejun
works is a percpu pointer but was missing __percpu markup.
Add it.
Signed-off-by: Namhyung Kim <[email protected]>
---
kernel/workqueue.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/kernel/workqueue.c b/kernel/workqueue.c
index e2eb351..334a9e0 100644
--- a/kernel/workqueue.c
+++ b/kernel/workqueue.c
@@ -2553,7 +2553,7 @@ EXPORT_SYMBOL(schedule_delayed_work_on);
int schedule_on_each_cpu(work_func_t func)
{
int cpu;
- struct work_struct *works;
+ struct work_struct __percpu *works;
works = alloc_percpu(struct work_struct);
if (!works)
--
1.7.0.4
On 08/07/2010 03:53 PM, Namhyung Kim wrote:
> works is a percpu pointer but was missing __percpu markup.
> Add it.
>
> Signed-off-by: Namhyung Kim <[email protected]>
Applied to wq#for-linus. Thanks.
--
tejun