Thread (28 messages) 28 messages, 7 authors, 2011-06-23

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help