Thread (21 messages) 21 messages, 7 authors, 2021-02-04

RE: [PATCH rdma-core v7 4/6] pyverbs: Add dma-buf based MR support

From: Xiong, Jianxin <hidden>
Date: 2021-02-03 17:58:55
Also in: dri-devel

-----Original Message-----
From: Daniel Vetter <redacted>
Sent: Wednesday, February 03, 2021 9:53 AM
To: Xiong, Jianxin <redacted>
Cc: Leon Romanovsky <leon@kernel.org>; Jason Gunthorpe <jgg@ziepe.ca>; Gal Pressman <redacted>; Yishai Hadas
[off-list ref]; linux-rdma [off-list ref]; Edward Srouji [off-list ref]; dri-devel <dri-
devel@lists.freedesktop.org>; Christian Koenig [off-list ref]; Doug Ledford [off-list ref]; Vetter, Daniel
[off-list ref]
Subject: Re: [PATCH rdma-core v7 4/6] pyverbs: Add dma-buf based MR support

On Wed, Feb 3, 2021 at 5:57 PM Xiong, Jianxin [off-list ref] wrote:
quoted
quoted
-----Original Message-----
From: Leon Romanovsky <leon@kernel.org>
Sent: Tuesday, February 02, 2021 10:03 PM
To: Daniel Vetter <redacted>
Cc: Xiong, Jianxin <redacted>; Jason Gunthorpe
[off-list ref]; Gal Pressman [off-list ref]; Yishai Hadas
[off-list ref]; linux-rdma [off-list ref];
Edward Srouji [off-list ref]; dri-devel <dri-
devel@lists.freedesktop.org>; Christian Koenig
[off-list ref]; Doug Ledford [off-list ref];
Vetter, Daniel [off-list ref]
Subject: Re: [PATCH rdma-core v7 4/6] pyverbs: Add dma-buf based MR
support
<...>
quoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
+#include <drm/drm.h>
+#include <drm/i915_drm.h> #include <drm/amdgpu_drm.h>
+#include <drm/radeon_drm.h>
I assume these should come from the kernel headers package, right?
This is gross, all kernel headers should be placed in
kernel-headers/* and "update" script needs to be extended to take drm/* files too :(.
drm kernel headers are in the libdrm package. You need that
anyway for doing the ioctls (if you don't hand-roll the restarting yourself).

Also our userspace has gone over to just outright copying
the driver headers. Not the generic headers, but for the
rendering side of gpus, which is the topic here, there's really not much generic stuff.
quoted
Jianxin, are you fixing it?
So fix is either to depend upon libdrm for building, or have
copies of the headers included in the package for the
i915/amdgpu/radeon headers (drm/drm.h probably not so good idea).
We should have a cmake test to not build the drm parts if it can't be built, and pyverbs should skip the tests.
Yes, I will add a test for that. Also, on SLES, the headers
could be under /usr/include/libdrm instead of /usr/include/drm.
The make test
should check that and use proper path.
quoted
Please use pkgconfig for this, libdrm installs a .pc file to make
sure you can find the right headers.
rdma-core uses cmake build system and in our case cmake find_library() is preferable over pkgconfig.
Only the headers are needed, and they could be installed via either the libdrm-devel package or the kernel-headers package. The cmake
find_path() command is more suitable here.

Except if your distro is buggy (or doesn't support any gpu drivers at
all) they will never be installed as part of kernel-headers.
Right, that's why we want to check for the existence of the header file (find_path() does just that) instead of the existence of the package(s).
-Daniel
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help