net: dsa: comment hot path requirements
authorVivien Didelot <vivien.didelot@savoirfairelinux.com>
Thu, 1 Jun 2017 20:07:11 +0000 (16:07 -0400)
committerDavid S. Miller <davem@davemloft.net>
Thu, 1 Jun 2017 21:34:56 +0000 (17:34 -0400)
The DSA layer uses inline helpers and copy of the tagging functions for
faster access in hot path. Add comments to detail that.

Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/dsa.h
net/dsa/dsa_priv.h

index 7de1234..18ca0a9 100644 (file)
@@ -127,6 +127,8 @@ struct dsa_switch_tree {
         * protocol to use.
         */
        struct net_device       *master_netdev;
+
+       /* Copy of tag_ops->rcv for faster access in hot path */
        struct sk_buff *        (*rcv)(struct sk_buff *skb,
                                       struct net_device *dev,
                                       struct packet_type *pt,
@@ -465,6 +467,7 @@ struct mii_bus *dsa_host_dev_to_mii_bus(struct device *dev);
 
 struct net_device *dsa_dev_to_net_device(struct device *dev);
 
+/* Keep inline for faster access in hot path */
 static inline bool dsa_uses_tagged_protocol(struct dsa_switch_tree *dst)
 {
        return dst->rcv != NULL;
index 7459d57..db2a7b9 100644 (file)
@@ -73,6 +73,7 @@ struct dsa_device_ops {
 };
 
 struct dsa_slave_priv {
+       /* Copy of dp->ds->dst->tag_ops->xmit for faster access in hot path */
        struct sk_buff *        (*xmit)(struct sk_buff *skb,
                                        struct net_device *dev);