[ofa-general] QP connection healthy detection problem with fork/exec
Dotan Barak
dotanb at dev.mellanox.co.il
Thu Mar 27 22:33:55 PDT 2008
Hi.
I didn't have a chance to check this but i believe that the following
file descriptors need to be closed:
struct ibv_context {
struct ibv_device *device;
struct ibv_context_ops ops;
int cmd_fd;
<-------- (i'm sure that this need is the one)
int async_fd;
<-------- (i think that you can skip this one....)
int num_comp_vectors;
pthread_mutex_t mutex;
void *abi_compat;
struct ibv_xrc_ops *xrc_ops;
};
Dotan
Tang, Changqing wrote:
> When a process fork/exec, isn't QP destroyed automatically ? If the QP is destroyed, then
> RDMA operation is based on QP connection and should fail.
>
> Also how do I set FD_CLOEXEC ? which fd in which structure ?
>
>
> --CQ
>
>
>
>> -----Original Message-----
>> From: Daniel Noe [mailto:dpn at lampreynetworks.com]
>> Sent: Thursday, March 27, 2008 11:39 PM
>> To: Roland Dreier
>> Cc: Tang, Changqing; general at lists.openfabrics.org
>> Subject: Re: [ofa-general] QP connection healthy detection
>> problem with fork/exec
>>
>> Roland Dreier wrote:
>>
>>> I think the problem is that exec() does not clean everything up.
>>> AFAIK exec doesn't close open file descriptors so there's
>>>
>> no way for
>>
>>> the kernel uverbs module to know that it should clean up.
>>>
>> There is a file descriptor flag that can be set with fcntl():
>> FD_CLOEXEC
>>
>> If this flag is set on an fd, the kernel closes that file
>> descriptor on execve().
>>
>> Otherwise, the file descriptor remains open.
>>
>> Cheers,
>> Dan
>>
>> --
>> Dan Noe (dpn at lampreynetworks.com)
>> Software Engineer
>> Lamprey Networks, Inc.
>>
>>
> _______________________________________________
> general mailing list
> general at lists.openfabrics.org
> http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general
>
> To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general
>
>
More information about the general
mailing list