2012-11-13 01:52:04

by Shan Wei

[permalink] [raw]
Subject: [PATCH v4 1/9] net: core: use this_cpu_ptr per-cpu helper

From: Shan Wei <[email protected]>

flush_tasklet is a struct, not a pointer in percpu var.
so use this_cpu_ptr to get the member pointer.

Signed-off-by: Shan Wei <[email protected]>
Reviewed-by: Christoph Lameter <[email protected]>
---
no changes vs v3.
---
net/core/flow.c | 4 +---
1 files changed, 1 insertions(+), 3 deletions(-)

diff --git a/net/core/flow.c b/net/core/flow.c
index e318c7e..b0901ee 100644
--- a/net/core/flow.c
+++ b/net/core/flow.c
@@ -327,11 +327,9 @@ static void flow_cache_flush_tasklet(unsigned long data)
static void flow_cache_flush_per_cpu(void *data)
{
struct flow_flush_info *info = data;
- int cpu;
struct tasklet_struct *tasklet;

- cpu = smp_processor_id();
- tasklet = &per_cpu_ptr(info->cache->percpu, cpu)->flush_tasklet;
+ tasklet = this_cpu_ptr(&info->cache->percpu->flush_tasklet);
tasklet->data = (unsigned long)info;
tasklet_schedule(tasklet);
}
--
1.7.1


2012-11-16 08:38:12

by Shan Wei

[permalink] [raw]
Subject: Re: [PATCH v4 1/9] net: core: use this_cpu_ptr per-cpu helper

Shan Wei said, at 2012/11/13 9:51:
> From: Shan Wei <[email protected]>
>
> flush_tasklet is a struct, not a pointer in percpu var.
> so use this_cpu_ptr to get the member pointer.
>
> Signed-off-by: Shan Wei <[email protected]>
> Reviewed-by: Christoph Lameter <[email protected]>

David Miller, would you like to pick it up to your net-next tree?

> ---
> no changes vs v3.
> ---
> net/core/flow.c | 4 +---
> 1 files changed, 1 insertions(+), 3 deletions(-)
>
> diff --git a/net/core/flow.c b/net/core/flow.c
> index e318c7e..b0901ee 100644
> --- a/net/core/flow.c
> +++ b/net/core/flow.c
> @@ -327,11 +327,9 @@ static void flow_cache_flush_tasklet(unsigned long data)
> static void flow_cache_flush_per_cpu(void *data)
> {
> struct flow_flush_info *info = data;
> - int cpu;
> struct tasklet_struct *tasklet;
>
> - cpu = smp_processor_id();
> - tasklet = &per_cpu_ptr(info->cache->percpu, cpu)->flush_tasklet;
> + tasklet = this_cpu_ptr(&info->cache->percpu->flush_tasklet);
> tasklet->data = (unsigned long)info;
> tasklet_schedule(tasklet);
> }
>

2012-11-20 00:00:26

by David Miller

[permalink] [raw]
Subject: Re: [PATCH v4 1/9] net: core: use this_cpu_ptr per-cpu helper

From: Shan Wei <[email protected]>
Date: Fri, 16 Nov 2012 16:38:01 +0800

> Shan Wei said, at 2012/11/13 9:51:
>> From: Shan Wei <[email protected]>
>>
>> flush_tasklet is a struct, not a pointer in percpu var.
>> so use this_cpu_ptr to get the member pointer.
>>
>> Signed-off-by: Shan Wei <[email protected]>
>> Reviewed-by: Christoph Lameter <[email protected]>
>
> David Miller, would you like to pick it up to your net-next tree?

Applied.