From: Leon Romanovsky <leon-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
To: Jason Gunthorpe
<jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
Yishai Hadas <yishaih-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
Subject: Re: [PATCH rdma-core 3/8] mlx4: Add sparse annotations
Date: Thu, 13 Jul 2017 10:23:43 +0300 [thread overview]
Message-ID: <20170713072343.GI1528@mtr-leonro.local> (raw)
In-Reply-To: <1499894262-10761-4-git-send-email-jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
[-- Attachment #1: Type: text/plain, Size: 3362 bytes --]
On Wed, Jul 12, 2017 at 03:17:37PM -0600, Jason Gunthorpe wrote:
> Signed-off-by: Jason Gunthorpe <jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
> ---
> CMakeLists.txt | 4 +--
> providers/mlx4/cq.c | 8 +++--
> providers/mlx4/dbrec.c | 6 ++--
> providers/mlx4/mlx4.h | 16 +++++-----
> providers/mlx4/mlx4dv.h | 84 ++++++++++++++++++++++++-------------------------
> providers/mlx4/qp.c | 4 +--
> providers/mlx4/verbs.c | 11 ++-----
> 7 files changed, 64 insertions(+), 69 deletions(-)
>
> diff --git a/CMakeLists.txt b/CMakeLists.txt
> index 16196205035f61..1f319390f2e05c 100644
> --- a/CMakeLists.txt
> +++ b/CMakeLists.txt
> @@ -414,8 +414,8 @@ add_subdirectory(providers/cxgb3) # NO SPARSE
> add_subdirectory(providers/cxgb4) # NO SPARSE
> add_subdirectory(providers/hns) # NO SPARSE
> add_subdirectory(providers/i40iw) # NO SPARSE
> -add_subdirectory(providers/mlx4) # NO SPARSE
> -add_subdirectory(providers/mlx4/man) # NO SPARSE
> +add_subdirectory(providers/mlx4)
> +add_subdirectory(providers/mlx4/man)
> add_subdirectory(providers/mlx5) # NO SPARSE
> add_subdirectory(providers/mlx5/man) # NO SPARSE
> add_subdirectory(providers/mthca) # NO SPARSE
> diff --git a/providers/mlx4/cq.c b/providers/mlx4/cq.c
> index 50adebb82237f2..afc0e3b8c8eeb1 100644
> --- a/providers/mlx4/cq.c
> +++ b/providers/mlx4/cq.c
> @@ -287,7 +287,7 @@ static inline int mlx4_parse_cqe(struct mlx4_cq *cq,
> case MLX4_RECV_OPCODE_SEND_INVAL:
> wc->opcode = IBV_WC_RECV;
> wc->wc_flags |= IBV_WC_WITH_INV;
> - wc->imm_data = be32toh(cqe->immed_rss_invalid);
> + wc->invalidated_rkey = be32toh(cqe->immed_rss_invalid);
> break;
> case MLX4_RECV_OPCODE_SEND:
> wc->opcode = IBV_WC_RECV;
> @@ -550,13 +550,15 @@ static uint32_t mlx4_cq_read_wc_vendor_err(struct ibv_cq_ex *ibcq)
> return ecqe->vendor_err;
> }
>
> -static uint32_t mlx4_cq_read_wc_imm_data(struct ibv_cq_ex *ibcq)
> +static __be32 mlx4_cq_read_wc_imm_data(struct ibv_cq_ex *ibcq)
> {
> struct mlx4_cq *cq = to_mcq(ibv_cq_ex_to_cq(ibcq));
>
> switch (mlx4dv_get_cqe_opcode(cq->cqe)) {
> case MLX4_RECV_OPCODE_SEND_INVAL:
> - return be32toh(cq->cqe->immed_rss_invalid);
> + /* This is returning invalidate_rkey which is in host order, see
> + * ibv_wc_read_invalidated_rkey */
> + return (__force __be32)be32toh(cq->cqe->immed_rss_invalid);
Jason,
It is insane construction, convert to host-> force to be32 -> use as uint32_t.
> default:
> return cq->cqe->immed_rss_invalid;
> }
> diff --git a/providers/mlx4/dbrec.c b/providers/mlx4/dbrec.c
> index 3e875738fa61d8..84b01770dcb2c5 100644
> --- a/providers/mlx4/dbrec.c
> +++ b/providers/mlx4/dbrec.c
> @@ -84,7 +84,7 @@ static struct mlx4_db_page *__add_page(struct mlx4_context *context,
> return page;
> }
>
> -uint32_t *mlx4_alloc_db(struct mlx4_context *context, enum mlx4_db_type type)
> +__be32 *mlx4_alloc_db(struct mlx4_context *context, enum mlx4_db_type type)
> {
> struct mlx4_db_page *page;
> uint32_t *db = NULL;
> @@ -113,10 +113,10 @@ found:
> out:
> pthread_mutex_unlock(&context->db_list_mutex);
>
> - return db;
> + return (__force __be32 *)db;
> }
I see that librdmacm/rsocket.c full of these __force annotations.
I would be very happy to see it fixed rather suppressed, but don't know
if it is realistic goal or not.
Thanks
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
next prev parent reply other threads:[~2017-07-13 7:23 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-07-12 21:17 [PATCH rdma-core 0/8] Sparse updates for Mellanox and vmw_pvrdma providers Jason Gunthorpe
[not found] ` <1499894262-10761-1-git-send-email-jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2017-07-12 21:17 ` [PATCH rdma-core 1/8] verbs: Annoate ibv_wc helpers with endian Jason Gunthorpe
[not found] ` <1499894262-10761-2-git-send-email-jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2017-07-13 6:50 ` Leon Romanovsky
[not found] ` <20170713065057.GH1528-U/DQcQFIOTAAJjI8aNfphQ@public.gmane.org>
2017-07-13 17:48 ` Jason Gunthorpe
2017-07-19 16:53 ` Jason Gunthorpe
[not found] ` <20170719165351.GA25714-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2017-07-19 17:17 ` Leon Romanovsky
2017-07-12 21:17 ` [PATCH rdma-core 2/8] verbs: Annoate ibv_send_wr " Jason Gunthorpe
2017-07-12 21:17 ` [PATCH rdma-core 3/8] mlx4: Add sparse annotations Jason Gunthorpe
[not found] ` <1499894262-10761-4-git-send-email-jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2017-07-13 7:23 ` Leon Romanovsky [this message]
[not found] ` <20170713072343.GI1528-U/DQcQFIOTAAJjI8aNfphQ@public.gmane.org>
2017-07-13 8:07 ` Christoph Hellwig
[not found] ` <20170713080752.GA25727-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2017-07-13 17:16 ` Jason Gunthorpe
2017-07-12 21:17 ` [PATCH rdma-core 4/8] mlx5: Avoid sparse complaints about !! Jason Gunthorpe
[not found] ` <1499894262-10761-5-git-send-email-jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2017-07-13 7:34 ` Leon Romanovsky
2017-07-13 7:51 ` Christoph Hellwig
[not found] ` <20170713075116.GA11233-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2017-07-13 17:20 ` Jason Gunthorpe
[not found] ` <20170713172035.GB11069-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2017-07-13 17:52 ` Bart Van Assche
[not found] ` <1499968325.2740.12.camel-Sjgp3cTcYWE@public.gmane.org>
2017-07-13 18:37 ` Jason Gunthorpe
[not found] ` <20170713183737.GF11069-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2017-07-15 8:07 ` Leon Romanovsky
2017-07-12 21:17 ` [PATCH rdma-core 5/8] mlx5: Add sparse annotations Jason Gunthorpe
2017-07-12 21:17 ` [PATCH rdma-core 6/8] mthca: " Jason Gunthorpe
2017-07-12 21:17 ` [PATCH rdma-core 7/8] vmw_pvrdma: Update kernel header Jason Gunthorpe
[not found] ` <1499894262-10761-8-git-send-email-jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2017-07-14 17:50 ` Adit Ranadive
2017-07-12 21:17 ` [PATCH rdma-core 8/8] vmw_pvrdma: Add sparse annotations Jason Gunthorpe
[not found] ` <1499894262-10761-9-git-send-email-jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2017-07-14 20:56 ` Adit Ranadive
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=20170713072343.GI1528@mtr-leonro.local \
--to=leon-dgejt+ai2ygdnm+yrofe0a@public.gmane.org \
--cc=jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org \
--cc=linux-rdma-u79uwXL29TY76Z2rM5mHXA@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.