Re: [v3 PATCH 2/2] netpoll: remove IFF_IN_NETPOLL flag

From: Changli Gao
Date: Wed Dec 08 2010 - 03:16:51 EST


On Wed, Dec 8, 2010 at 3:52 PM, Amerigo Wang <amwang@xxxxxxxxxx> wrote:
> From: Amerigo Wang <amwang@xxxxxxxxxx>
> Date: Thu, 2 Dec 2010 21:34:44 +0800
> Subject: [v3 PATCH 2/2] netpoll: remove IFF_IN_NETPOLL flag
>
> This patch removes the flag IFF_IN_NETPOLL, we don't need it any more since
> we have netpoll_tx_running() now.
>
> Signed-off-by: WANG Cong <amwang@xxxxxxxxxx>
> Cc: Neil Horman <nhorman@xxxxxxxxxx>
> Cc: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
> Cc: Jay Vosburgh <fubar@xxxxxxxxxx>
> Cc: "David S. Miller" <davem@xxxxxxxxxxxxx>
> Cc: Stephen Hemminger <shemminger@xxxxxxxxxx>
> Cc: Jiri Pirko <jpirko@xxxxxxxxxx>
> Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx>
>
> ---
>
>  drivers/net/bonding/bond_main.c |    6 ++----
>  drivers/net/bonding/bonding.h   |    2 +-
>  include/linux/if.h              |    9 ++++-----
>  net/core/netpoll.c              |    2 --
>  4 files changed, 7 insertions(+), 12 deletions(-)
>
> diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c
> index 7fafe06..21ac08b 100644
> --- a/drivers/net/bonding/bond_main.c
> +++ b/drivers/net/bonding/bond_main.c
> @@ -448,11 +448,9 @@ int bond_dev_queue_xmit(struct bonding *bond, struct sk_buff *skb,
>        }
>
>        skb->priority = 1;
> -       if (unlikely(netpoll_tx_running(slave_dev))) {
> -               slave_dev->priv_flags |= IFF_IN_NETPOLL;
> +       if (unlikely(netpoll_tx_running(slave_dev)))
>                bond_netpoll_send_skb(bond_get_slave_by_dev(bond, slave_dev), skb);
> -               slave_dev->priv_flags &= ~IFF_IN_NETPOLL;
> -       } else
> +       else
>                dev_queue_xmit(skb);
>
>        return 0;
> diff --git a/drivers/net/bonding/bonding.h b/drivers/net/bonding/bonding.h
> index c4f6a94..493e645 100644
> --- a/drivers/net/bonding/bonding.h
> +++ b/drivers/net/bonding/bonding.h
> @@ -138,7 +138,7 @@ static inline void unblock_netpoll_tx(void)
>
>  static inline int is_netpoll_tx_blocked(struct net_device *dev)
>  {
> -       if (unlikely(dev->priv_flags & IFF_IN_NETPOLL))
> +       if (unlikely(netpoll_tx_running(dev)))
>                return cpumask_test_cpu(smp_processor_id(), netpoll_block_tx);
>        return 0;
>  }
> diff --git a/include/linux/if.h b/include/linux/if.h
> index 1239599..3bc63e6 100644
> --- a/include/linux/if.h
> +++ b/include/linux/if.h
> @@ -71,11 +71,10 @@
>                                         * release skb->dst
>                                         */
>  #define IFF_DONT_BRIDGE 0x800          /* disallow bridging this ether dev */
> -#define IFF_IN_NETPOLL 0x1000          /* whether we are processing netpoll */
> -#define IFF_DISABLE_NETPOLL    0x2000  /* disable netpoll at run-time */
> -#define IFF_MACVLAN_PORT       0x4000  /* device used as macvlan port */
> -#define IFF_BRIDGE_PORT        0x8000          /* device used as bridge port */
> -#define IFF_OVS_DATAPATH       0x10000 /* device used as Open vSwitch
> +#define IFF_DISABLE_NETPOLL    0x1000  /* disable netpoll at run-time */
> +#define IFF_MACVLAN_PORT       0x2000  /* device used as macvlan port */
> +#define IFF_BRIDGE_PORT        0x4000          /* device used as bridge port */
> +#define IFF_OVS_DATAPATH       0x8000  /* device used as Open vSwitch
>                                         * datapath port */
>

You can't change the values of these macros or delete some of them,
because they are exported to user space and are parts of ABI.

--
Regards,
Changli Gao(xiaosuo@xxxxxxxxx)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/