Pārlūkot izejas kodu

net: dsa: comment hot path requirements

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>
Vivien Didelot 8 gadi atpakaļ
vecāks
revīzija
73a7ece8f7
2 mainītis faili ar 4 papildinājumiem un 0 dzēšanām
  1. 3 0
      include/net/dsa.h
  2. 1 0
      net/dsa/dsa_priv.h

+ 3 - 0
include/net/dsa.h

@@ -127,6 +127,8 @@ struct dsa_switch_tree {
 	 * protocol to use.
 	 * protocol to use.
 	 */
 	 */
 	struct net_device	*master_netdev;
 	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 sk_buff *	(*rcv)(struct sk_buff *skb,
 				       struct net_device *dev,
 				       struct net_device *dev,
 				       struct packet_type *pt,
 				       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);
 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)
 static inline bool dsa_uses_tagged_protocol(struct dsa_switch_tree *dst)
 {
 {
 	return dst->rcv != NULL;
 	return dst->rcv != NULL;

+ 1 - 0
net/dsa/dsa_priv.h

@@ -73,6 +73,7 @@ struct dsa_device_ops {
 };
 };
 
 
 struct dsa_slave_priv {
 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 sk_buff *	(*xmit)(struct sk_buff *skb,
 					struct net_device *dev);
 					struct net_device *dev);