From patchwork Tue Nov 13 01:51:54 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: solomon X-Patchwork-Id: 198523 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id CA6562C0093 for ; Tue, 13 Nov 2012 12:54:51 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754442Ab2KMBwE (ORCPT ); Mon, 12 Nov 2012 20:52:04 -0500 Received: from mail-pb0-f46.google.com ([209.85.160.46]:48891 "EHLO mail-pb0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753324Ab2KMBwC (ORCPT ); Mon, 12 Nov 2012 20:52:02 -0500 Received: by mail-pb0-f46.google.com with SMTP id rr4so4778322pbb.19 for ; Mon, 12 Nov 2012 17:52:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:subject :content-type:content-transfer-encoding; bh=Ei74rjrKAnUYq3i0HEmBBwFQI5UxagG6PRZ+wvsw8ZU=; b=RL55o7SQmwerbEG49KKXgvg6Owrkh5Yjc1/Ls9ZqTQi6j3/d9FA5w0XlcTx0sM1rPA e16SYUfijhgS2qcYp5QCqe2na/HGpy2YYKzC8MRjTRlYVr/LZTLOTtdAKmlVpHiOd9ct NixxTnBbujVUW4JvfRbv0Vy8Tv2sQHDIR6PKKDv/Ud9R4CN5RED3XKWzyDD9of0pbzAk dz6BPX4cKlJpbRCbpxJL5YJr/uBk6G8f2FMe4ZVn6IoCzrWmtmetHfNBU5fJAxeXRMzs hbC9fUV2gc386ghLqnE9Sp6xencYkW8F1oBf3t/MBgAeGVTbb401EDDVIx0dcOdBnpw9 aspA== Received: by 10.66.73.227 with SMTP id o3mr27225856pav.78.1352771522010; Mon, 12 Nov 2012 17:52:02 -0800 (PST) Received: from [172.30.10.127] ([112.95.138.22]) by mx.google.com with ESMTPS id gv9sm5072612pbc.21.2012.11.12.17.51.57 (version=SSLv3 cipher=OTHER); Mon, 12 Nov 2012 17:52:01 -0800 (PST) Message-ID: <50A1A7BA.5000507@gmail.com> Date: Tue, 13 Nov 2012 09:51:54 +0800 From: Shan Wei User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:16.0) Gecko/20121026 Thunderbird/16.0.2 MIME-Version: 1.0 To: David Miller , timo.teras@iki.fi, steffen.klassert@secunet.com, NetDev , Kernel-Maillist , cl@linux-foundation.org, Shan Wei Subject: [PATCH v4 1/9] net: core: use this_cpu_ptr per-cpu helper Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Shan Wei 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 Reviewed-by: Christoph Lameter --- 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); }