IB/rxe: Issue warnings once
authorBart Van Assche <bart.vanassche@sandisk.com>
Tue, 10 Jan 2017 19:15:47 +0000 (11:15 -0800)
committerDoug Ledford <dledford@redhat.com>
Tue, 10 Jan 2017 21:52:47 +0000 (16:52 -0500)
It is strongly recommended to report kernel warnings once instead
of every time a condition is hit. Hence change WARN_ON() into
WARN_ON_ONCE() / BUILD_BUG_ON() as appropriate.

Signed-off-by: Bart Van Assche <bart.vanassche@sandisk.com>
Reviewed-by: Leon Romanovsky <leonro@mellanox.com>
Reviewed-by: Andrew Boyer <andrew.boyer@dell.com>
Cc: Moni Shoua <monis@mellanox.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
drivers/infiniband/sw/rxe/rxe_comp.c
drivers/infiniband/sw/rxe/rxe_mr.c
drivers/infiniband/sw/rxe/rxe_resp.c

index d369f24425f94008878b0d9514de16952cbae4af..e912e5396e8c1d12f25476ddbe360c8ecbfdd6a5 100644 (file)
@@ -254,7 +254,7 @@ static inline enum comp_state check_ack(struct rxe_qp *qp,
                }
                break;
        default:
-               WARN_ON(1);
+               WARN_ON_ONCE(1);
        }
 
        /* Check operation validity. */
index 8ca3acd327b3bd572009ec09298cef7be1324372..8cf38b253c3791fc79240662af2b9b09f5ef578f 100644 (file)
@@ -123,7 +123,7 @@ static int rxe_mem_alloc(struct rxe_dev *rxe, struct rxe_mem *mem, int num_buf)
                        goto err2;
        }
 
-       WARN_ON(!is_power_of_2(RXE_BUF_PER_MAP));
+       BUILD_BUG_ON(!is_power_of_2(RXE_BUF_PER_MAP));
 
        mem->map_shift  = ilog2(RXE_BUF_PER_MAP);
        mem->map_mask   = RXE_BUF_PER_MAP - 1;
@@ -189,7 +189,7 @@ int rxe_mem_init_user(struct rxe_dev *rxe, struct rxe_pd *pd, u64 start,
                goto err1;
        }
 
-       WARN_ON(!is_power_of_2(umem->page_size));
+       WARN_ON_ONCE(!is_power_of_2(umem->page_size));
 
        mem->page_shift         = ilog2(umem->page_size);
        mem->page_mask          = umem->page_size - 1;
@@ -375,7 +375,7 @@ int rxe_mem_copy(struct rxe_mem *mem, u64 iova, void *addr, int length,
                return 0;
        }
 
-       WARN_ON(!mem->map);
+       WARN_ON_ONCE(!mem->map);
 
        err = mem_check_range(mem, iova, length);
        if (err) {
index 3435efff879960cece0c7e122b5960a057f2d4a1..6dbd069689fcfa7dc7f81214d8669a6c7d4f93e4 100644 (file)
@@ -307,7 +307,7 @@ static enum resp_states check_op_valid(struct rxe_qp *qp,
                break;
 
        default:
-               WARN_ON(1);
+               WARN_ON_ONCE(1);
                break;
        }
 
@@ -495,7 +495,7 @@ static enum resp_states check_rkey(struct rxe_qp *qp,
                }
        }
 
-       WARN_ON(qp->resp.mr);
+       WARN_ON_ONCE(qp->resp.mr);
 
        qp->resp.mr = mem;
        return RESPST_EXECUTE;
@@ -808,9 +808,10 @@ static enum resp_states execute(struct rxe_qp *qp, struct rxe_pkt_info *pkt)
                err = process_atomic(qp, pkt);
                if (err)
                        return err;
-       } else
+       } else {
                /* Unreachable */
-               WARN_ON(1);
+               WARN_ON_ONCE(1);
+       }
 
        /* We successfully processed this new request. */
        qp->resp.msn++;
@@ -1396,7 +1397,7 @@ int rxe_responder(void *arg)
                        goto exit;
 
                default:
-                       WARN_ON(1);
+                       WARN_ON_ONCE(1);
                }
        }