From: Christoph Lameter <cl@linux.com>
To: Tejun Heo <tj@kernel.org>
Cc: akpm@linuxfoundation.org, rostedt@goodmis.org,
linux-kernel@vger.kernel.org, Ingo Molnar <mingo@kernel.org>,
Peter Zijlstra <peterz@infradead.org>,
Thomas Gleixner <tglx@linutronix.de>,
Chris Metcalf <cmetcalf@tilera.com>
Subject: [PATCH 13/40] drivers/net/ethernet/tile: Replace __get_cpu_var uses for address calculation
Date: Thu, 19 Dec 2013 09:50:28 -0600 [thread overview]
Message-ID: <20131219155032.146331548@linux.com> (raw)
In-Reply-To: <20131219155015.443763038@linux.com>
[-- Attachment #1: this_driver_net_ethernet_tile --]
[-- Type: text/plain, Size: 4528 bytes --]
Replace with this_cpu_ptr.
Cc: Chris Metcalf <cmetcalf@tilera.com>
Signed-off-by: Christoph Lameter <cl@linux.com>
Index: linux/drivers/net/ethernet/tile/tilegx.c
===================================================================
--- linux.orig/drivers/net/ethernet/tile/tilegx.c 2013-12-02 16:07:54.574500726 -0600
+++ linux/drivers/net/ethernet/tile/tilegx.c 2013-12-02 16:07:54.564501002 -0600
@@ -427,7 +427,7 @@ static void tile_net_pop_all_buffers(int
/* Provide linux buffers to mPIPE. */
static void tile_net_provide_needed_buffers(void)
{
- struct tile_net_info *info = &__get_cpu_var(per_cpu_info);
+ struct tile_net_info *info = this_cpu_ptr(&per_cpu_info);
int instance, kind;
for (instance = 0; instance < NR_MPIPE_MAX &&
info->mpipe[instance].has_iqueue; instance++) {
@@ -653,7 +653,7 @@ drop:
*/
static int tile_net_poll(struct napi_struct *napi, int budget)
{
- struct tile_net_info *info = &__get_cpu_var(per_cpu_info);
+ struct tile_net_info *info = this_cpu_ptr(&per_cpu_info);
unsigned int work = 0;
gxio_mpipe_idesc_t *idesc;
int instance, i, n;
@@ -699,7 +699,7 @@ done:
/* Handle an ingress interrupt from an instance on the current cpu. */
static irqreturn_t tile_net_handle_ingress_irq(int irq, void *id)
{
- struct tile_net_info *info = &__get_cpu_var(per_cpu_info);
+ struct tile_net_info *info = this_cpu_ptr(&per_cpu_info);
napi_schedule(&info->mpipe[(uint64_t)id].napi);
return IRQ_HANDLED;
}
@@ -762,7 +762,7 @@ static enum hrtimer_restart tile_net_han
/* Make sure the egress timer is scheduled. */
static void tile_net_schedule_egress_timer(void)
{
- struct tile_net_info *info = &__get_cpu_var(per_cpu_info);
+ struct tile_net_info *info = this_cpu_ptr(&per_cpu_info);
if (!info->egress_timer_scheduled) {
hrtimer_start(&info->egress_timer,
@@ -779,7 +779,7 @@ static void tile_net_schedule_egress_tim
*/
static enum hrtimer_restart tile_net_handle_egress_timer(struct hrtimer *t)
{
- struct tile_net_info *info = &__get_cpu_var(per_cpu_info);
+ struct tile_net_info *info = this_cpu_ptr(&per_cpu_info);
unsigned long irqflags;
bool pending = false;
int i, instance;
@@ -1933,7 +1933,7 @@ static void tso_egress(struct net_device
*/
static int tile_net_tx_tso(struct sk_buff *skb, struct net_device *dev)
{
- struct tile_net_info *info = &__get_cpu_var(per_cpu_info);
+ struct tile_net_info *info = this_cpu_ptr(&per_cpu_info);
struct tile_net_priv *priv = netdev_priv(dev);
int channel = priv->echannel;
int instance = priv->instance;
@@ -2002,7 +2002,7 @@ static unsigned int tile_net_tx_frags(st
/* Help the kernel transmit a packet. */
static int tile_net_tx(struct sk_buff *skb, struct net_device *dev)
{
- struct tile_net_info *info = &__get_cpu_var(per_cpu_info);
+ struct tile_net_info *info = this_cpu_ptr(&per_cpu_info);
struct tile_net_priv *priv = netdev_priv(dev);
int instance = priv->instance;
struct mpipe_data *md = &mpipe_data[instance];
@@ -2141,7 +2141,7 @@ static int tile_net_set_mac_address(stru
static void tile_net_netpoll(struct net_device *dev)
{
int instance = mpipe_instance(dev);
- struct tile_net_info *info = &__get_cpu_var(per_cpu_info);
+ struct tile_net_info *info = this_cpu_ptr(&per_cpu_info);
struct mpipe_data *md = &mpipe_data[instance];
disable_percpu_irq(md->ingress_irq);
@@ -2248,7 +2248,7 @@ static void tile_net_dev_init(const char
/* Per-cpu module initialization. */
static void tile_net_init_module_percpu(void *unused)
{
- struct tile_net_info *info = &__get_cpu_var(per_cpu_info);
+ struct tile_net_info *info = this_cpu_ptr(&per_cpu_info);
int my_cpu = smp_processor_id();
int instance;
Index: linux/drivers/net/ethernet/tile/tilepro.c
===================================================================
--- linux.orig/drivers/net/ethernet/tile/tilepro.c 2013-12-02 16:07:54.574500726 -0600
+++ linux/drivers/net/ethernet/tile/tilepro.c 2013-12-02 16:07:54.564501002 -0600
@@ -993,13 +993,13 @@ static void tile_net_register(void *dev_
PDEBUG("tile_net_register(queue_id %d)\n", queue_id);
if (!strcmp(dev->name, "xgbe0"))
- info = &__get_cpu_var(hv_xgbe0);
+ info = this_cpu_ptr(&hv_xgbe0);
else if (!strcmp(dev->name, "xgbe1"))
- info = &__get_cpu_var(hv_xgbe1);
+ info = this_cpu_ptr(&hv_xgbe1);
else if (!strcmp(dev->name, "gbe0"))
- info = &__get_cpu_var(hv_gbe0);
+ info = this_cpu_ptr(&hv_gbe0);
else if (!strcmp(dev->name, "gbe1"))
- info = &__get_cpu_var(hv_gbe1);
+ info = this_cpu_ptr(&hv_gbe1);
else
BUG();
next prev parent reply other threads:[~2013-12-19 16:08 UTC|newest]
Thread overview: 53+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-12-19 15:50 [PATCH 00/40] percpu: Consistent per cpu operations V2 Christoph Lameter
2013-12-19 15:50 ` [PATCH 01/40] mm: Replace __get_cpu_var uses with this_cpu_ptr Christoph Lameter
2013-12-19 15:50 ` [PATCH 02/40] tracing: " Christoph Lameter
2013-12-19 15:50 ` [PATCH 03/40] percpu: Replace __get_cpu_var " Christoph Lameter
2013-12-19 15:50 ` [PATCH 04/40] kernel misc: Replace __get_cpu_var uses Christoph Lameter
2013-12-19 15:50 ` [PATCH 05/40] drivers/char/random: " Christoph Lameter
2013-12-19 15:50 ` [PATCH 06/40] drivers/cpuidle: Replace __get_cpu_var uses for address calculation Christoph Lameter
2013-12-19 15:50 ` [PATCH 07/40] drivers/oprofile: " Christoph Lameter
2013-12-19 15:50 ` [PATCH 08/40] drivers/leds: Replace __get_cpu_var use through this_cpu_ptr Christoph Lameter
2013-12-19 15:50 ` [PATCH 09/40] drivers/clocksource: Replace __get_cpu_var used for address calculation Christoph Lameter
2013-12-19 15:50 ` [PATCH 10/40] staging/zsmalloc: Replace instances of using __get_cpu_var " Christoph Lameter
2013-12-19 15:50 ` [PATCH 11/40] parisc: Replace __get_cpu_var uses " Christoph Lameter
2013-12-19 15:50 ` [PATCH 12/40] metag: " Christoph Lameter
2013-12-19 15:50 ` Christoph Lameter [this message]
2013-12-19 15:59 ` [PATCH 13/40] drivers/net/ethernet/tile: " Chris Metcalf
2013-12-19 15:50 ` [PATCH 14/40] percpu: Add raw_cpu_ops Christoph Lameter
2013-12-19 15:50 ` [PATCH 15/40] mm: Use raw_cpu ops for determining current NUMA node Christoph Lameter
2013-12-19 15:50 ` [PATCH 16/40] modules: Use raw_cpu_write for initialization of per cpu refcount Christoph Lameter
2013-12-19 15:50 ` [PATCH 17/40] net: Replace __this_cpu_inc in route.c with raw_cpu_inc Christoph Lameter
2013-12-19 15:50 ` [PATCH 18/40] percpu: Add preemption checks to __this_cpu ops Christoph Lameter
2013-12-19 17:16 ` David Daney
2013-12-19 17:37 ` Christoph Lameter
2013-12-19 15:50 ` [PATCH 19/40] time: Replace __get_cpu_var uses Christoph Lameter
2013-12-19 15:50 ` [PATCH 20/40] scheduler: Replace __get_cpu_var with this_cpu_ptr Christoph Lameter
2013-12-19 15:50 ` [PATCH 21/40] block: Replace __this_cpu_ptr with raw_cpu_ptr Christoph Lameter
2013-12-19 15:50 ` [PATCH 22/40] rcu: Replace __this_cpu_ptr uses " Christoph Lameter
2013-12-19 15:50 ` [PATCH 23/40] watchdog: Replace __raw_get_cpu_var uses Christoph Lameter
2013-12-19 15:50 ` [PATCH 24/40] net: Replace get_cpu_var through this_cpu_ptr Christoph Lameter
2013-12-19 15:50 ` [PATCH 25/40] md: Replace __this_cpu_ptr with raw_cpu_ptr Christoph Lameter
2013-12-19 15:50 ` [PATCH 26/40] irqchips: Replace __this_cpu_ptr uses Christoph Lameter
2013-12-19 15:50 ` [PATCH 27/40] x86: Replace __get_cpu_var uses Christoph Lameter
2013-12-19 15:50 ` [PATCH 28/40] arm: Replace __this_cpu_ptr with raw_cpu_ptr Christoph Lameter
2013-12-19 15:50 ` [PATCH 29/40] mips: Replace __get_cpu_var uses Christoph Lameter
2013-12-19 17:46 ` David Daney
2013-12-19 21:10 ` Christoph Lameter
2013-12-19 23:08 ` David Daney
2013-12-20 17:43 ` Christoph Lameter
2013-12-20 17:49 ` Christoph Lameter
2013-12-19 21:31 ` Christoph Lameter
2013-12-19 15:50 ` [PATCH 30/40] s390: rename __this_cpu_ptr to raw_cpu_ptr Christoph Lameter
2013-12-19 15:50 ` [PATCH 31/40] ia64: Replace __get_cpu_var uses Christoph Lameter
2013-12-19 15:50 ` [PATCH 32/40] powerpc: " Christoph Lameter
2013-12-19 15:50 ` [PATCH 33/40] sparc: " Christoph Lameter
2013-12-19 15:50 ` [PATCH 34/40] tile: " Christoph Lameter
2013-12-19 15:50 ` [PATCH 35/40] blackfin: " Christoph Lameter
2013-12-19 15:50 ` [PATCH 36/40] avr32: Replace __get_cpu_var with __this_cpu_write Christoph Lameter
2013-12-19 15:50 ` [PATCH 37/40] alpha: Replace __get_cpu_var Christoph Lameter
2013-12-19 21:18 ` Richard Henderson
2013-12-19 21:47 ` Max Filippov
2013-12-20 17:59 ` Christoph Lameter
2013-12-19 15:50 ` [PATCH 38/40] sh: Replace __get_cpu_var uses Christoph Lameter
2013-12-19 15:50 ` [PATCH 39/40] Remove __get_cpu_var and __raw_get_cpu_var macros [only in 3.15] Christoph Lameter
2013-12-19 15:50 ` [PATCH 40/40] percpu: Remove __this_cpu_ptr Christoph Lameter
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20131219155032.146331548@linux.com \
--to=cl@linux.com \
--cc=akpm@linuxfoundation.org \
--cc=cmetcalf@tilera.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=peterz@infradead.org \
--cc=rostedt@goodmis.org \
--cc=tglx@linutronix.de \
--cc=tj@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome