Date: Tue, 16 Aug 2016 22:36:33 +0200 From: Hans Petter Selasky <hps@selasky.org> To: Alex Bowden <alex.bowden@outlook.com>, "freebsd-infiniband@freebsd.org" <freebsd-infiniband@freebsd.org> Subject: Re: Set non blocking on /dev/rdma_cm Message-ID: <3a373d74-9822-ed46-2788-fbc8d169a8a6@selasky.org> In-Reply-To: <DM2PR05MB75118A2E53E97548A432608F7130@DM2PR05MB751.namprd05.prod.outlook.com> References: <DM2PR05MB75118A2E53E97548A432608F7130@DM2PR05MB751.namprd05.prod.outlook.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 08/16/16 22:23, Alex Bowden wrote: > Hi all, > > > I've modified rping to set O_NONBLOCKING on /dev/rdma_cm on the event channel (rdma_create_event_channel) which fails like this: > > > 9997 rping CALL openat(AT_FDCWD,0x800a42708,0x100002<O_RDWR|O_CLOEXEC>,<unused>0) > 9997 rping NAMI "/dev/rdma_cm" > 9997 rping RET openat 3 > ..snip.. > > 9997 rping CALL fcntl(0x3,F_SETFL,0x6<O_RDWR|O_NONBLOCK>) > 9997 rping RET fcntl -1 errno 25 Inappropriate ioctl for device > > Is this not supported for some reason? This is with the latest OFED v3.2 patches by Hans. Hi Alex, I'll check the code tomorrow. Quick answer: F_SETFL should be translated into FIONBIO and FASYNC ioctls in the FreeBSD kernel. Maybe there is a missing "case FIONBIO: return (0); /* success */" somewhere in the /dev/rdma_cm implementation, because the "fflags" handling is factored out, and only returning success on the IOCTL is required. --HPS
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3a373d74-9822-ed46-2788-fbc8d169a8a6>