[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