RDMA/irdma: Slightly optimize irdma_form_ah_cm_frame()
authorChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Thu, 2 Feb 2023 20:23:24 +0000 (21:23 +0100)
committerJason Gunthorpe <jgg@nvidia.com>
Thu, 13 Apr 2023 15:17:45 +0000 (12:17 -0300)
There is no need to zero 'pktsize' bytes of 'buf', only the header needs
to be cleared, to be safe.
All the other bytes are already written with some memcpy() at the end of
the function.

Doing so also gives the opportunity to the compiler to avoid the memset()
call. It can be inlined now that the length is known as compile time.

Link: https://lore.kernel.org/r/098e3c397be0436f1867899245ecfe656c472110.1675369386.git.christophe.jaillet@wanadoo.fr
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Reviewed-by: Shiraz Saleem <shiraz.saleem@intel.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
drivers/infiniband/hw/irdma/cm.c

index 195aa9e..48c2a30 100644 (file)
@@ -337,7 +337,7 @@ static struct irdma_puda_buf *irdma_form_ah_cm_frame(struct irdma_cm_node *cm_no
 
        pktsize = sizeof(*tcph) + opts_len + hdr_len + pd_len;
 
-       memset(buf, 0, pktsize);
+       memset(buf, 0, sizeof(*tcph));
 
        sqbuf->totallen = pktsize;
        sqbuf->tcphlen = sizeof(*tcph) + opts_len;