OSDN Git Service

forcedeth: optimize the xmit with unlikely
authorZhu Yanjun <yanjun.zhu@oracle.com>
Tue, 28 Nov 2017 06:42:22 +0000 (01:42 -0500)
committerDavid S. Miller <davem@davemloft.net>
Thu, 30 Nov 2017 14:35:03 +0000 (09:35 -0500)
In xmit, it is very impossible that TX_ERROR occurs. So using
unlikely optimizes the xmit process.

CC: Srinivas Eeda <srinivas.eeda@oracle.com>
CC: Joe Jin <joe.jin@oracle.com>
CC: Junxiao Bi <junxiao.bi@oracle.com>
Signed-off-by: Zhu Yanjun <yanjun.zhu@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/nvidia/forcedeth.c

index 481876b..53614ed 100644 (file)
@@ -2563,7 +2563,7 @@ static int nv_tx_done(struct net_device *dev, int limit)
 
                if (np->desc_ver == DESC_VER_1) {
                        if (flags & NV_TX_LASTPACKET) {
-                               if (flags & NV_TX_ERROR) {
+                               if (unlikely(flags & NV_TX_ERROR)) {
                                        if ((flags & NV_TX_RETRYERROR)
                                            && !(flags & NV_TX_RETRYCOUNT_MASK))
                                                nv_legacybackoff_reseed(dev);
@@ -2580,7 +2580,7 @@ static int nv_tx_done(struct net_device *dev, int limit)
                        }
                } else {
                        if (flags & NV_TX2_LASTPACKET) {
-                               if (flags & NV_TX2_ERROR) {
+                               if (unlikely(flags & NV_TX2_ERROR)) {
                                        if ((flags & NV_TX2_RETRYERROR)
                                            && !(flags & NV_TX2_RETRYCOUNT_MASK))
                                                nv_legacybackoff_reseed(dev);
@@ -2626,7 +2626,7 @@ static int nv_tx_done_optimized(struct net_device *dev, int limit)
                nv_unmap_txskb(np, np->get_tx_ctx);
 
                if (flags & NV_TX2_LASTPACKET) {
-                       if (flags & NV_TX2_ERROR) {
+                       if (unlikely(flags & NV_TX2_ERROR)) {
                                if ((flags & NV_TX2_RETRYERROR)
                                    && !(flags & NV_TX2_RETRYCOUNT_MASK)) {
                                        if (np->driver_data & DEV_HAS_GEAR_MODE)