From: Leon Romanovsky <leonro-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
To: Jason Gunthorpe
<jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
Cc: Yishai Hadas
<yishaih-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>,
Yishai Hadas <yishaih-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>,
linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
majd-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org,
Doug Ledford <dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
Subject: Re: [PATCH rdma-core] mlx5: Return pointer to CQ doorbell
Date: Thu, 24 Aug 2017 08:27:16 +0300 [thread overview]
Message-ID: <20170824052716.GD1724@mtr-leonro.local> (raw)
In-Reply-To: <20170823165221.GB23928-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
[-- Attachment #1: Type: text/plain, Size: 3232 bytes --]
On Wed, Aug 23, 2017 at 10:52:21AM -0600, Jason Gunthorpe wrote:
> On Wed, Aug 23, 2017 at 07:45:55PM +0300, Leon Romanovsky wrote:
>
> > > Provide two implementations of mlx5dv_init_obj, one that has the
> > > historical behaviour that has existed until now of returning the
> > > void **uar and a new version that returns the 'void *' version
> > > renamed to arb_db.
> >
> > arb_db -> arm_db
>
> Oops, I fixed that, thanks.
>
> > Strange, in github it has 7 digits (the same was with rsocket fixes)
> > Fixes: c6e3439 ("mlx5: Return pointer to CQ doorbell")
>
> Yeah, side effect of github rendering it into a web link, I think.
>
> > The overall looks good, but I need to run checks with before
> > applying it.
>
> Sure, I didn't test it obviously, but the readelf is what I expect:
>
> 101: 000000000000e4d0 55 FUNC GLOBAL DEFAULT 13 mlx5dv_init_obj@MLX5_1.0
> 168: 000000000000e4d0 55 FUNC LOCAL DEFAULT 13 __mlx5dv_init_obj_1_0
> 102: 000000000000e300 451 FUNC GLOBAL DEFAULT 13 mlx5dv_init_obj@@MLX5_1.2
> 169: 000000000000e300 451 FUNC LOCAL DEFAULT 13 __mlx5dv_init_obj_1_2
It is not complete output as I would expect to see. It doesn't have
mlx5dv_init_obj (without explicit @MLX5_1.2). There is a need to declare default
function name for the static linking has no knowledge of versions.
The simplest approach which is used in whole rdma-core is just retain
the original function name and the patch below on top of your patch
achieves it.
diff --git a/providers/mlx5/mlx5.c b/providers/mlx5/mlx5.c
index 7ec5951b..49dd4f12 100644
--- a/providers/mlx5/mlx5.c
+++ b/providers/mlx5/mlx5.c
@@ -716,8 +716,7 @@ static int mlx5dv_get_srq(struct ibv_srq *srq_in,
return 0;
}
-int __mlx5dv_init_obj_1_2(struct mlx5dv_obj *obj, uint64_t obj_type);
-int __mlx5dv_init_obj_1_2(struct mlx5dv_obj *obj, uint64_t obj_type)
+int mlx5dv_init_obj(struct mlx5dv_obj *obj, uint64_t obj_type)
{
int ret = 0;
@@ -732,14 +731,13 @@ int __mlx5dv_init_obj_1_2(struct mlx5dv_obj *obj, uint64_t obj_type)
return ret;
}
-asm(".symver __mlx5dv_init_obj_1_2, mlx5dv_init_obj@@MLX5_1.2");
int __mlx5dv_init_obj_1_0(struct mlx5dv_obj *obj, uint64_t obj_type);
int __mlx5dv_init_obj_1_0(struct mlx5dv_obj *obj, uint64_t obj_type)
{
int ret = 0;
- ret = __mlx5dv_init_obj_1_2(obj, obj_type);
+ ret = mlx5dv_init_obj(obj, obj_type);
if (!ret && (obj_type & MLX5DV_OBJ_CQ)) {
/* ABI version 1.0 returns the void ** in this memory
* location
------
➜ rdma-core git:(tst-uar) ✗ readelf -s build/lib/libmlx5.so |grep -i mlx5dv_init
99: 000000000000dab0 55 FUNC GLOBAL DEFAULT 13 mlx5dv_init_obj@MLX5_1.0
165: 000000000000dab0 55 FUNC LOCAL DEFAULT 13 __mlx5dv_init_obj_1_0
194: 000000000000d8f0 443 FUNC LOCAL DEFAULT 13 mlx5dv_init_obj
268: 000000000000dab0 55 FUNC GLOBAL DEFAULT 13 mlx5dv_init_obj@MLX5_1.0
>
> Jason
> --
> 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
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
next prev parent reply other threads:[~2017-08-24 5:27 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-08-17 13:36 [PATCH rdma-core] mlx5: Return pointer to CQ doorbell Yishai Hadas
[not found] ` <1502976998-20906-1-git-send-email-yishaih-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2017-08-17 17:33 ` Jason Gunthorpe
[not found] ` <20170817173320.GB22792-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2017-08-17 17:39 ` Leon Romanovsky
[not found] ` <20170817173932.GJ23648-U/DQcQFIOTAAJjI8aNfphQ@public.gmane.org>
2017-08-17 18:03 ` Jason Gunthorpe
[not found] ` <20170817180349.GD24735-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2017-08-21 9:06 ` Yishai Hadas
[not found] ` <99bc8f57-6a58-d309-7142-74cc498f7feb-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
2017-08-21 15:22 ` Jason Gunthorpe
[not found] ` <20170821152237.GA3400-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2017-08-22 8:36 ` Yishai Hadas
[not found] ` <912a3e5b-7dbc-061a-53f5-b3cf3bce9d9e-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
2017-08-22 16:30 ` Jason Gunthorpe
[not found] ` <20170822163007.GB4922-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2017-08-23 12:13 ` Yishai Hadas
[not found] ` <1b7e41dc-4873-7c0a-6cdb-bc499af70af2-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
2017-08-23 14:06 ` Jason Gunthorpe
2017-08-23 16:08 ` Jason Gunthorpe
[not found] ` <20170823160816.GA11188-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2017-08-23 16:45 ` Leon Romanovsky
[not found] ` <20170823164555.GV1724-U/DQcQFIOTAAJjI8aNfphQ@public.gmane.org>
2017-08-23 16:52 ` Jason Gunthorpe
[not found] ` <20170823165221.GB23928-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2017-08-24 5:27 ` Leon Romanovsky [this message]
[not found] ` <20170824052716.GD1724-U/DQcQFIOTAAJjI8aNfphQ@public.gmane.org>
2017-08-24 15:00 ` Jason Gunthorpe
[not found] ` <20170824150045.GA23110-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2017-08-24 15:50 ` Leon Romanovsky
[not found] ` <20170824155036.GN1724-U/DQcQFIOTAAJjI8aNfphQ@public.gmane.org>
2017-08-24 16:40 ` Jason Gunthorpe
2017-08-24 20:30 ` 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=20170824052716.GD1724@mtr-leonro.local \
--to=leonro-vpraknaxozvwk0htik3j/w@public.gmane.org \
--cc=dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
--cc=jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org \
--cc=linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=majd-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org \
--cc=yishaih-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox