[ofa-general] Re: [PATCH 03/10] dev.c changes.
From: Patrick McHardy <hidden>
Date: 2007-07-20 12:37:06
Krishna Kumar2 wrote:
Patrick McHardy [off-list ref] wrote on 07/20/2007 04:50:37 PM:quoted
32 bytes? I count 16, - 4 for the pointer, so its 12 bytes of waste. If you'd use it for gso_skb it would come down to 8 bytes. struct net_device is a pig already, and there are better ways to reduce this than starting to allocating single members with a few bytes IMO.Currently, this allocated pointer is an indication to let kernel users (qdisc_restart, setting/resetting tx_batch_skbs) know whether batching is enabled or disabled. Removing the pointer and making it static means those users cannot figure out this information . Adding another field to netdev may be a bad idea, so I am thinking of overloading dev->features to add a new flag (other than NETIF_F_BATCH_SKBS, since that is a driver capabilities flag) which can be set/cleared based on NETIF_F_BATCH_SKBS bit. Does this approach sound OK ?
I guess so. It would be more consistent with things like HW checksumming etc. though to handle this through ethtool and have the ethtool callbacks set or clear just the one feature bit. That would mean you don't need to provide further indication of the device's capabilities to the stack since only the driver enables or disables the feature.