]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commitdiff
UBUNTU: SAUCE: {topost} net: hns3: add unlikely for error check
authorPeng Li <lipeng321@huawei.com>
Tue, 17 Apr 2018 08:31:17 +0000 (16:31 +0800)
committerKhalid Elmously <khalid.elmously@canonical.com>
Wed, 6 Jun 2018 18:41:43 +0000 (14:41 -0400)
BugLink: https://bugs.launchpad.net/bugs/1768670
The first bd of a packet is invalid and invalid ring head for tx
IRQ is not offen, they may occur when there is error,
Add unlikely for error check branch is better for performance.

Signed-off-by: Peng Li <lipeng321@huawei.com>
Signed-off-by: dann frazier <dann.frazier@canonical.com>
Acked-by: Stefan Bader <stefan.bader@canonical.com>
Acked-by: Kleber Sacilotto de Souza <kleber.souza@canonical.com>
Signed-off-by: Khalid Elmously <khalid.elmously@canonical.com>
drivers/net/ethernet/hisilicon/hns3/hns3_enet.c

index 3215af00b887aeb1f92d9a64c0f2cf79afc3ef17..e5585fd02b9f1828a97c2675cf6db3b83ac488fd 100644 (file)
@@ -1917,7 +1917,7 @@ bool hns3_clean_tx_ring(struct hns3_enet_ring *ring, int budget)
        if (is_ring_empty(ring) || head == ring->next_to_clean)
                return true; /* no data to poll */
 
-       if (!is_valid_clean_head(ring, head)) {
+       if (unlikely(!is_valid_clean_head(ring, head))) {
                netdev_err(netdev, "wrong head (%d, %d-%d)\n", head,
                           ring->next_to_use, ring->next_to_clean);
 
@@ -2174,7 +2174,7 @@ static int hns3_handle_rx_bd(struct hns3_enet_ring *ring,
        bd_base_info = le32_to_cpu(desc->rx.bd_base_info);
 
        /* Check valid BD */
-       if (!hnae_get_bit(bd_base_info, HNS3_RXD_VLD_B))
+       if (unlikely(!hnae_get_bit(bd_base_info, HNS3_RXD_VLD_B)))
                return -EFAULT;
 
        va = (unsigned char *)desc_cb->buf + desc_cb->page_offset;