All of lore.kernel.org
 help / color / mirror / Atom feed
From: Yishai Hadas <yishaih-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
To: Jason Gunthorpe
	<jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
Cc: Doug Ledford <dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
	linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	Devesh Sharma
	<Devesh.sharma-laKkSmNT4hbQT0dZR+AlfA@public.gmane.org>,
	Hal Rosenstock
	<hal-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>,
	Mike Marciniszyn
	<mike.marciniszyn-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
	Moni Shoua <monis-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>,
	Sean Hefty <sean.hefty-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
	Steve Wise
	<swise-7bPotxP6k4+P2YhJcF5u+vpXobYPEAuW@public.gmane.org>,
	Tatyana Nikolova
	<Tatyana.E.Nikolova-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
	Vladimir Sokolovsky
	<vlad-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>,
	Yishai Hadas <yishaih-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
Subject: Re: [PATCH 09/28] mlx5: Fix gcc 6.4 uninitialized variable warning
Date: Thu, 15 Sep 2016 17:26:33 +0300	[thread overview]
Message-ID: <f54fd76a-975f-900a-d996-2ae208402ae8@dev.mellanox.co.il> (raw)
In-Reply-To: <20160914163716.GB16014-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>

On 9/14/2016 7:37 PM, Jason Gunthorpe wrote:

>
> Okay, great, in that case you can gain more speed by writing code the
> compiler can understand. In this instance we don't need to test for
> (cqe64->op_own & MLX5_INLINE_SCATTER_XX) after we have disproven it by
> checking for !(MLX5_OPCODE_RDMA_READ,MLX5_OPCODE_ATOMIC_CS,MLX5_OPCODE_ATOMIC_FA)

I'm fine with that approach, still can improve your patch see below.

>  1 file changed, 32 insertions(+), 27 deletions(-)
>
> diff --git a/libmlx5/src/cq.c b/libmlx5/src/cq.c
> index 88097037eea0..91c568e2f4b6 100644
> --- a/libmlx5/src/cq.c
> +++ b/libmlx5/src/cq.c
> @@ -222,23 +222,6 @@ static inline void handle_good_req(struct ibv_wc *wc, struct mlx5_cqe64 *cqe, st
>  	}
>  }
>
> -static inline void handle_good_req_lazy(struct mlx5_cqe64 *cqe, uint32_t *pwc_byte_len,
> -					int *umr_opcode, struct mlx5_wq *wq, int idx)
> -{
> -	switch (ntohl(cqe->sop_drop_qpn) >> 24) {
> -	case MLX5_OPCODE_RDMA_READ:
> -		*pwc_byte_len  = ntohl(cqe->byte_cnt);
> -		break;
> -	case MLX5_OPCODE_ATOMIC_CS:
> -	case MLX5_OPCODE_ATOMIC_FA:
> -		*pwc_byte_len  = 8;
> -		break;
> -	case MLX5_OPCODE_UMR:
> -		*umr_opcode = wq->wr_data[idx];
> -		break;
> -	}
> -}
> -
>  static inline int handle_responder_lazy(struct mlx5_cq *cq, struct mlx5_cqe64 *cqe,
>  					struct mlx5_qp *qp, struct mlx5_srq *srq)
>  {
> @@ -634,7 +617,6 @@ static inline int mlx5_parse_cqe(struct mlx5_cq *cq,
>  	switch (opcode) {
>  	case MLX5_CQE_REQ:
>  	{
> -		uint32_t uninitialized_var(wc_byte_len);
>  		mqp = get_req_context(mctx, cur_rsc,
>  				      (cqe_ver ? (ntohl(cqe64->srqn_uidx) & 0xffffff) : qpn),
>  				      cqe_ver);
> @@ -643,17 +625,40 @@ static inline int mlx5_parse_cqe(struct mlx5_cq *cq,
>  		wq = &mqp->sq;
>  		wqe_ctr = ntohs(cqe64->wqe_counter);
>  		idx = wqe_ctr & (wq->wqe_cnt - 1);
> -		if (lazy)
> -			handle_good_req_lazy(cqe64, &wc_byte_len, &cq->umr_opcode, wq, idx);
> -		else
> +		if (lazy) {
> +			uint32_t wc_byte_len;
> +
> +			switch (ntohl(cqe64->sop_drop_qpn) >> 24) {
> +			case MLX5_OPCODE_UMR:
> +				cq->umr_opcode = wq->wr_data[idx];
> +				break;
> +
> +			case MLX5_OPCODE_RDMA_READ:
> +				wc_byte_len = ntohl(cqe64->byte_cnt);
> +				goto scatter_out;
> +			case MLX5_OPCODE_ATOMIC_CS:
> +			case MLX5_OPCODE_ATOMIC_FA:
> +				wc_byte_len = 8;
> +
> +			scatter_out:
> +				if (cqe64->op_own & MLX5_INLINE_SCATTER_32)
> +					err = mlx5_copy_to_send_wqe(
> +					    mqp, wqe_ctr, cqe, wc_byte_len);
> +				else if (cqe64->op_own & MLX5_INLINE_SCATTER_64)
> +					err = mlx5_copy_to_send_wqe(
> +					    mqp, wqe_ctr, cqe - 1, wc_byte_len);
> +				break;
> +			}
> +		} else {
>  			handle_good_req(wc, cqe64, wq, idx);
>
> -		if (cqe64->op_own & MLX5_INLINE_SCATTER_32)
> -			err = mlx5_copy_to_send_wqe(mqp, wqe_ctr, cqe,
> -						    lazy ? wc_byte_len : wc->byte_len);
> -		else if (cqe64->op_own & MLX5_INLINE_SCATTER_64)
> -			err = mlx5_copy_to_send_wqe(mqp, wqe_ctr, cqe - 1,
> -						     lazy ? wc_byte_len : wc->byte_len);
> +			if (cqe64->op_own & MLX5_INLINE_SCATTER_32)
> +				err = mlx5_copy_to_send_wqe(mqp, wqe_ctr, cqe,
> +							    wc->byte_len);
> +			else if (cqe64->op_own & MLX5_INLINE_SCATTER_64)
> +				err = mlx5_copy_to_send_wqe(
> +				    mqp, wqe_ctr, cqe - 1, wc->byte_len);
> +		}
>
>  		if (lazy) {
>  			cq->ibv_cq.wr_id = wq->wrid[idx];
>

This 'if' can be omitted and its body can be embedded above for both 
lazy/non-lazy modes.

Will handle that in our side and put into our regression system, once 
the patch will be approved will take it into my formal GIT so that you 
can take it from there.
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  parent reply	other threads:[~2016-09-15 14:26 UTC|newest]

Thread overview: 68+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-09-05 21:07 [PATCH 00/28] Patches for userspace Jason Gunthorpe
     [not found] ` <1473109698-31408-1-git-send-email-jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-09-05 21:07   ` [PATCH 01/28] Fix bogus executable file permissions Jason Gunthorpe
2016-09-05 21:07   ` [PATCH 02/28] Include pthreads in the provider libraries Jason Gunthorpe
     [not found]     ` <1473109698-31408-3-git-send-email-jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-09-07 14:41       ` Steve Wise
2016-09-07 16:04         ` Jason Gunthorpe
2016-09-07 18:00       ` Steve Wise
2016-09-14 15:15       ` Yishai Hadas
     [not found]         ` <2961f191-3020-ed18-0200-ce569c19326b-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
2016-09-14 16:01           ` Jason Gunthorpe
     [not found]             ` <20160914160150.GA16014-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-09-14 16:27               ` Yishai Hadas
2016-09-05 21:07   ` [PATCH 03/28] Be explicit about _GNU_SOURCE Jason Gunthorpe
     [not found]     ` <1473109698-31408-4-git-send-email-jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-09-06 13:53       ` Hal Rosenstock
2016-09-07 18:01       ` Steve Wise
2016-09-13 21:39       ` Hefty, Sean
2016-09-14 16:30       ` Yishai Hadas
2016-09-05 21:07   ` [PATCH 04/28] cxgb3/4: Display correct version number in error message Jason Gunthorpe
     [not found]     ` <1473109698-31408-5-git-send-email-jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-09-07 18:02       ` Steve Wise
2016-09-05 21:07   ` [PATCH 05/28] hfi/ipath: Use the name of the provider for the .driver file Jason Gunthorpe
2016-09-05 21:07   ` [PATCH 06/28] i40iw: Avoid gcc warning -Wint-to-pointer-cast Jason Gunthorpe
2016-09-05 21:07   ` [PATCH 07/28] iwpm: Add AM_INIT_AUTOMAKE([subdir-objects]) Jason Gunthorpe
2016-09-05 21:07   ` [PATCH 08/28] ibcm: Actually use the version script when linking Jason Gunthorpe
2016-09-05 21:07   ` [PATCH 09/28] mlx5: Fix gcc 6.4 uninitialized variable warning Jason Gunthorpe
     [not found]     ` <1473109698-31408-10-git-send-email-jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-09-14 15:39       ` Yishai Hadas
     [not found]         ` <0ba444b7-6af4-72f3-d3d6-c27b73421679-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
2016-09-14 16:37           ` Jason Gunthorpe
     [not found]             ` <20160914163716.GB16014-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-09-15 14:26               ` Yishai Hadas [this message]
     [not found]                 ` <f54fd76a-975f-900a-d996-2ae208402ae8-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
2016-09-15 16:21                   ` Jason Gunthorpe
     [not found]                     ` <20160915162136.GA26111-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-09-19 15:02                       ` Yishai Hadas
2016-09-05 21:08   ` [PATCH 10/28] nes: Fix clang 3.6 warning -Wtautological-constant-out-of-range-compare Jason Gunthorpe
2016-09-05 21:08   ` [PATCH 11/28] ocrdma: Fix incorrect type of ibwc_status Jason Gunthorpe
2016-09-05 21:08   ` [PATCH 12/28] ocrdma: Fix incorrect enum constant Jason Gunthorpe
2016-09-05 21:08   ` [PATCH 13/28] rdmacm: Use correct format specifier for size_t Jason Gunthorpe
2016-09-05 21:08   ` [PATCH 14/28] rdmacm: Control symbol export from librspreload Jason Gunthorpe
     [not found]     ` <1473109698-31408-15-git-send-email-jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-09-13 21:50       ` Hefty, Sean
2016-09-05 21:08   ` [PATCH 15/28] umad: Include umad.h in the canonical way Jason Gunthorpe
     [not found]     ` <1473109698-31408-16-git-send-email-jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-09-06 13:54       ` Hal Rosenstock
2016-09-05 21:08   ` [PATCH 16/28] umad: Fix incorrect arguments to umad_register2 in tests Jason Gunthorpe
     [not found]     ` <1473109698-31408-17-git-send-email-jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-09-06 13:54       ` Hal Rosenstock
2016-09-05 21:08   ` [PATCH 17/28] verbs: Fix incorrect type of len Jason Gunthorpe
2016-09-05 21:08   ` [PATCH 18/28] verbs: Fix clang 3.6 warning -Wtautological-compare Jason Gunthorpe
2016-09-05 21:08   ` [PATCH 19/28] verbs: Avoid gcc 6.1 warning -Wunused-variable Jason Gunthorpe
     [not found]     ` <1473109698-31408-20-git-send-email-jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-09-14 16:46       ` Yishai Hadas
     [not found]         ` <7d6553e1-d4a8-a4da-8ccb-ed25d9ba1d91-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
2016-09-14 16:57           ` Jason Gunthorpe
2016-09-05 21:08   ` [PATCH 20/28] verbs: Use inttypes.h format string macros Jason Gunthorpe
2016-09-05 21:08   ` [PATCH 21/28] mlx5: Avoid gcc 5.4 warning -Wempty-body Jason Gunthorpe
     [not found]     ` <1473109698-31408-22-git-send-email-jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-09-14 16:25       ` Yishai Hadas
     [not found]         ` <6214bd07-f40c-8458-73a2-c07383c5d85a-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
2016-09-14 16:55           ` Jason Gunthorpe
     [not found]             ` <20160914165519.GC16014-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-09-15  5:18               ` Leon Romanovsky
     [not found]                 ` <20160915051840.GJ26069-2ukJVAZIZ/Y@public.gmane.org>
2016-09-15 15:19                   ` Jason Gunthorpe
2016-09-15 15:15               ` Yishai Hadas
2016-09-05 21:08   ` [PATCH 22/28] nes: Avoid gcc 6.1 warning -Wmisleading-indentation Jason Gunthorpe
2016-09-05 21:08   ` [PATCH 23/28] rxe: Avoid gcc 5.4 warning -Wswitch Jason Gunthorpe
2016-09-05 21:08   ` [PATCH 24/28] Fix gcc 5.4, clang 3.6 warnings about unused objects Jason Gunthorpe
     [not found]     ` <1473109698-31408-25-git-send-email-jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-09-07 18:04       ` Steve Wise
2016-09-05 21:08   ` [PATCH 25/28] Avoid gcc 5.4 warning -Wtype-limits Jason Gunthorpe
     [not found]     ` <1473109698-31408-26-git-send-email-jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-09-07 18:05       ` Steve Wise
2016-09-05 21:08   ` [PATCH 26/28] Avoid gcc 5.4 warning -Wunused-result Jason Gunthorpe
     [not found]     ` <1473109698-31408-27-git-send-email-jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-09-13 21:58       ` Hefty, Sean
     [not found]         ` <1828884A29C6694DAF28B7E6B8A82373AB0806AA-P5GAC/sN6hkd3b2yrw5b5LfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2016-09-13 22:24           ` Jason Gunthorpe
2016-09-14 16:35       ` Yishai Hadas
     [not found]         ` <3b8df987-b422-a59c-4dc0-8a99524ab45e-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
2016-09-14 16:58           ` Jason Gunthorpe
     [not found]             ` <20160914165830.GE16014-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-09-15  5:13               ` Leon Romanovsky
2016-10-09 13:31       ` Yishai Hadas
     [not found]         ` <9ae84345-4427-4689-e6d1-0bfa3eb19630-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
2016-10-09 23:19           ` Jason Gunthorpe
     [not found]             ` <20161009231936.GA24139-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-10-10 10:06               ` Yishai Hadas
     [not found]                 ` <1e022827-f28c-e2cd-2b6a-edfb713ed0b5-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
2016-10-12 18:07                   ` Doug Ledford
2016-10-09 15:14       ` Bart Van Assche
     [not found]         ` <3884fb5e-13a2-3ab6-0cce-66f73fbe84b7-HInyCGIudOg@public.gmane.org>
2016-10-09 23:12           ` Jason Gunthorpe
2016-09-05 21:08   ` [PATCH 27/28] Avoid clang 3.6 warning -Wmissing-field-initializers Jason Gunthorpe
2016-09-05 21:08   ` [PATCH 28/28] Avoid gcc warning -Wpointer-to-int-cast Jason Gunthorpe

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=f54fd76a-975f-900a-d996-2ae208402ae8@dev.mellanox.co.il \
    --to=yishaih-ldsdmyg8hgv8yrgs2mwiifqbs+8scbdb@public.gmane.org \
    --cc=Devesh.sharma-laKkSmNT4hbQT0dZR+AlfA@public.gmane.org \
    --cc=Tatyana.E.Nikolova-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
    --cc=dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
    --cc=hal-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org \
    --cc=jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org \
    --cc=linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=mike.marciniszyn-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
    --cc=monis-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org \
    --cc=sean.hefty-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
    --cc=swise-7bPotxP6k4+P2YhJcF5u+vpXobYPEAuW@public.gmane.org \
    --cc=vlad-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org \
    --cc=yishaih-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.