qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] RDMA wrongly detected as being supported on FreeBSD


From: Marcel Apfelbaum
Subject: Re: [Qemu-devel] RDMA wrongly detected as being supported on FreeBSD
Date: Sun, 12 Aug 2018 15:10:12 +0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1



On 08/12/2018 11:39 AM, Yuval Shaia wrote:
On Sat, Aug 11, 2018 at 07:47:49PM +0300, Marcel Apfelbaum wrote:
Hi,

On 08/06/2018 11:51 AM, Thomas Huth wrote:
On 07/28/2018 05:50 AM, Rebecca Cran wrote:
On 7/25/18 5:14 AM, Thomas Huth wrote:

Note that the error has been reported to happen on FreeBSD - so I doubt
that this <linux/types.h> header should be here.

Anyway, our include/standard-headers/linux/types.h is also empty ... so
could you try whether it compiles if you simply remove this #include
line, Rebecca?
Sorry for the delay, I'm just getting back to this. Removing the include
causes it to fail later on, with:

/home/bcran/workspace/qemu/hw/rdma/vmw/pvrdma_cmd.c:60:17: warning:
implicit declaration of function 'mremap' is invalid in C99
[-Wimplicit-function-declaration]
      host_virt = mremap(curr_page, 0, length, MREMAP_MAYMOVE);
OK, thanks for checking. According to

   https://www.freebsd.org/cgi/man.cgi?query=mremap&manpath=NetBSD+5.0

that syscall should also be available on FreeBSD. So could you please do
one more test and see whether it works when you add the following line
somewhere at the beginning of the file:

    #include <sys/mman.h>
It took some time, but I finally have a FreeBSD VM with RDMA enabled.

My findings:
- The RDMA libraries are there, so the flag  "RDMA"=yes is set correctly.
- include of <linux/types.h> is not needed, I will remove it.
- In FreeBSD mremap is not implemented in all configurations, it depends
   on some SANITIZER_LINUX flag (Linux emulation?), I think;
   so pvrdma cannot be compiled.  I think we should have a different QEMU
configuration
   flag --enable-pvrdma that will specifically check it is not a "bsd"
platform.
A good idea.

So, do i get it right that you will "revert back" the things we did
to--enable-rdma and do all our stuff in new --enable-pvrdma section?

Yes, but I plan to do it as a patch "on top" rather than reverting the actual commit.

Thanks,
Marcel

   I'll send a patch for that too.

Thanks,
Marcel


   Thanks,
    Thomas




reply via email to

[Prev in Thread] Current Thread [Next in Thread]