Re: [PATCH 09/31] drivers/net/ethernet/tile: Replace __get_cpu_var uses for address calculation
On Fri, Jun 20, 2014 at 02:31:24PM -0500, Christoph Lameter wrote: > Replace with this_cpu_ptr. > > Acked-by: Chris Metcalf > Signed-off-by: Christoph Lameter Applied to wq/for-3.17-consistent-ops. If this patch should be routed differently, please holler. Thanks. -- tejun -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 09/31] drivers/net/ethernet/tile: Replace __get_cpu_var uses for address calculation
On Fri, Jun 20, 2014 at 02:31:24PM -0500, Christoph Lameter wrote: Replace with this_cpu_ptr. Acked-by: Chris Metcalf cmetc...@tilera.com Signed-off-by: Christoph Lameter c...@linux.com Applied to wq/for-3.17-consistent-ops. If this patch should be routed differently, please holler. Thanks. -- tejun -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 09/31] drivers/net/ethernet/tile: Replace __get_cpu_var uses for address calculation
Replace with this_cpu_ptr. Acked-by: Chris Metcalf Signed-off-by: Christoph Lameter Index: linux/drivers/net/ethernet/tile/tilegx.c === --- linux.orig/drivers/net/ethernet/tile/tilegx.c 2014-06-16 09:40:53.465756338 -0500 +++ linux/drivers/net/ethernet/tile/tilegx.c2014-06-16 09:40:53.457756494 -0500 @@ -423,7 +423,7 @@ /* 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(_cpu_info); int instance, kind; for (instance = 0; instance < NR_MPIPE_MAX && info->mpipe[instance].has_iqueue; instance++) { @@ -585,7 +585,7 @@ /* Handle a packet. Return true if "processed", false if "filtered". */ static bool tile_net_handle_packet(int instance, gxio_mpipe_idesc_t *idesc) { - struct tile_net_info *info = &__get_cpu_var(per_cpu_info); + struct tile_net_info *info = this_cpu_ptr(_cpu_info); struct mpipe_data *md = _data[instance]; struct net_device *dev = md->tile_net_devs_for_channel[idesc->channel]; uint8_t l2_offset; @@ -651,7 +651,7 @@ */ 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(_cpu_info); unsigned int work = 0; gxio_mpipe_idesc_t *idesc; int instance, i, n; @@ -700,7 +700,7 @@ /* 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(_cpu_info); napi_schedule(>mpipe[(uint64_t)id].napi); return IRQ_HANDLED; } @@ -763,7 +763,7 @@ /* 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(_cpu_info); if (!info->egress_timer_scheduled) { hrtimer_start(>egress_timer, @@ -780,7 +780,7 @@ */ 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(_cpu_info); unsigned long irqflags; bool pending = false; int i, instance; @@ -1996,7 +1996,7 @@ /* 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(_cpu_info); struct tile_net_priv *priv = netdev_priv(dev); int instance = priv->instance; struct mpipe_data *md = _data[instance]; @@ -2138,7 +2138,7 @@ 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(_cpu_info); struct mpipe_data *md = _data[instance]; disable_percpu_irq(md->ingress_irq); @@ -2238,7 +2238,7 @@ /* 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(_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 2014-06-16 09:40:53.465756338 -0500 +++ linux/drivers/net/ethernet/tile/tilepro.c 2014-06-16 09:40:53.461756416 -0500 @@ -996,13 +996,13 @@ 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(_xgbe0); else if (!strcmp(dev->name, "xgbe1")) - info = &__get_cpu_var(hv_xgbe1); + info = this_cpu_ptr(_xgbe1); else if (!strcmp(dev->name, "gbe0")) - info = &__get_cpu_var(hv_gbe0); + info = this_cpu_ptr(_gbe0); else if (!strcmp(dev->name, "gbe1")) - info = &__get_cpu_var(hv_gbe1); + info = this_cpu_ptr(_gbe1); else BUG(); -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 09/31] drivers/net/ethernet/tile: Replace __get_cpu_var uses for address calculation
Replace with this_cpu_ptr. Acked-by: Chris Metcalf cmetc...@tilera.com Signed-off-by: Christoph Lameter c...@linux.com Index: linux/drivers/net/ethernet/tile/tilegx.c === --- linux.orig/drivers/net/ethernet/tile/tilegx.c 2014-06-16 09:40:53.465756338 -0500 +++ linux/drivers/net/ethernet/tile/tilegx.c2014-06-16 09:40:53.457756494 -0500 @@ -423,7 +423,7 @@ /* 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++) { @@ -585,7 +585,7 @@ /* Handle a packet. Return true if processed, false if filtered. */ static bool tile_net_handle_packet(int instance, gxio_mpipe_idesc_t *idesc) { - 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]; struct net_device *dev = md-tile_net_devs_for_channel[idesc-channel]; uint8_t l2_offset; @@ -651,7 +651,7 @@ */ 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; @@ -700,7 +700,7 @@ /* 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; } @@ -763,7 +763,7 @@ /* 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, @@ -780,7 +780,7 @@ */ 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; @@ -1996,7 +1996,7 @@ /* 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]; @@ -2138,7 +2138,7 @@ 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); @@ -2238,7 +2238,7 @@ /* 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 2014-06-16 09:40:53.465756338 -0500 +++ linux/drivers/net/ethernet/tile/tilepro.c 2014-06-16 09:40:53.461756416 -0500 @@ -996,13 +996,13 @@ 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(); -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/