Re: [RFT PATCH 0/9] Cleanup and extension of netdev features
From: Mahesh Bandewar <hidden>
Date: 2011-06-23 17:43:21
On Mon, Jun 20, 2011 at 12:14 PM, Michał Mirosław [off-list ref] wrote:
This is a preview of the cleanups pending after getting rid of old ethtool ops from remaining drivers. Patches inside: 1. (placeholder for Intel patches) 2. removal of old ethtool ops (most further patches depend on this one) 3. break association of ETH_FLAG_* with netdev features this will allow to change the representation and access pattern of the feature sets if later needed; as a bonus, the features can be (almost) freely rearranged 4. introducing netdev_features_t use new type wherever features are passed around (this needed new include - otherwise linux/skbuff.h would need linux/netdevice.h) 5. cleanup of feature bits 6. cleanup of feature name table (depends on #5) 7. prepare ethtool [GS]FEATURES for larger netdev_features_t 8. tadaaa: 64 bits for features 9. a lone cleanup patch for NOCACHE_COPY feature Bear in mind, that I only compile tested the whole series (x86 allyesconfig). I'll do per-patch builds after all needed patches are in net-next. Note about netdev_features_t: I don't like the idea of converting it to bitmap type and building wrappers around, so I won't even try to implement it. Nevertheless, this series will make the conversion easier if someone ever wants to go that way.
The idea is to make feature type (by defining netdev_feature_t) opaque and should handle XX bit integer as well as bitmap types. So netdev_feature_t typedef-ed to u64 is OK but changes that we make should be able to handle bitmaps as well to minimize future changes. --mahesh..
Best Regards, Michał Mirosław --- Michał Mirosław (9): [NOT SENT] Intel net drivers: convert to ndo_fix_features net: remove legacy ethtool ops net: ethtool: break association of ETH_FLAG_* with NETIF_F_* net: introduce and use netdev_features_t for device features sets net: Define enum for net device features. net: ethtool: use C99 array initialization for feature-names table ethtool: prepare for larger netdev_features_t type net: extend netdev_features_t to 64 bits net: move NOCACHE_COPY checks to netdev_fix_features() drivers/net/8139cp.c | 2 +- drivers/net/bnx2.c | 6 +- drivers/net/bnx2x/bnx2x_cmn.c | 5 +- drivers/net/bnx2x/bnx2x_cmn.h | 5 +- drivers/net/bonding/bond_main.c | 9 +- drivers/net/cxgb4/cxgb4_main.c | 12 +- drivers/net/dm9000.c | 3 +- drivers/net/e1000/e1000_ethtool.c | 69 ---- drivers/net/e1000/e1000_main.c | 31 ++- drivers/net/e1000e/ethtool.c | 88 ----- drivers/net/e1000e/netdev.c | 35 ++- drivers/net/forcedeth.c | 7 +- drivers/net/gianfar.h | 2 +- drivers/net/gianfar_ethtool.c | 4 +- drivers/net/ibmveth.c | 6 +- drivers/net/igb/igb_ethtool.c | 67 ---- drivers/net/igb/igb_main.c | 33 ++- drivers/net/igbvf/ethtool.c | 57 ---- drivers/net/igbvf/netdev.c | 25 ++- drivers/net/ixgb/ixgb.h | 2 + drivers/net/ixgb/ixgb_ethtool.c | 98 +------ drivers/net/ixgb/ixgb_main.c | 44 +++- drivers/net/ixgbe/ixgbe_ethtool.c | 183 ++++-------- drivers/net/ixgbe/ixgbe_main.c | 42 ++- drivers/net/ixgbevf/ethtool.c | 46 --- drivers/net/ixgbevf/ixgbevf_main.c | 26 ++- drivers/net/jme.c | 8 +- drivers/net/ksz884x.c | 3 +- drivers/net/mv643xx_eth.c | 2 +- drivers/net/myri10ge/myri10ge.c | 2 +- drivers/net/netxen/netxen_nic_main.c | 6 +- drivers/net/pch_gbe/pch_gbe_main.c | 5 +- drivers/net/qlcnic/qlcnic.h | 5 +- drivers/net/qlcnic/qlcnic_hw.c | 9 +- drivers/net/qlcnic/qlcnic_main.c | 2 +- drivers/net/r8169.c | 6 +- drivers/net/s2io.c | 4 +- drivers/net/sfc/efx.c | 2 +- drivers/net/sky2.c | 5 +- drivers/net/tg3.c | 7 +- drivers/net/usb/smsc75xx.c | 3 +- drivers/net/usb/smsc95xx.c | 3 +- drivers/net/vmxnet3/vmxnet3_ethtool.c | 4 +- drivers/net/vmxnet3/vmxnet3_int.h | 2 +- drivers/net/vxge/vxge-main.c | 9 +- drivers/net/xen-netfront.c | 8 +- drivers/s390/net/qeth_l3_main.c | 6 +- include/linux/ethtool.h | 53 --- include/linux/netdev_features.h | 152 +++++++++ include/linux/netdevice.h | 141 ++------- include/linux/skbuff.h | 4 +- include/net/protocol.h | 4 +- include/net/tcp.h | 3 +- include/net/udp.h | 3 +- net/8021q/vlan_dev.c | 5 +- net/bridge/br_if.c | 5 +- net/core/dev.c | 71 ++-- net/core/ethtool.c | 563 ++++++-------------------------- net/core/net-sysfs.c | 3 +- net/core/skbuff.c | 2 +- net/ipv4/af_inet.c | 3 +- net/ipv4/tcp.c | 2 +- net/ipv4/udp.c | 3 +- net/ipv6/af_inet6.c | 3 +- net/ipv6/udp.c | 2 +- 65 files changed, 683 insertions(+), 1347 deletions(-) create mode 100644 include/linux/netdev_features.h -- 1.7.2.5 -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html