[ewg] RE: [ofa-general] OFED 1.3 Beta release is available

Tang, Changqing changquing.tang at hp.com
Tue Dec 4 20:39:47 PST 2007


I think the problem is that  sizeof "struct ibv_context_ops" has changed, so the new driver returns a
big "struct ibv_context", app compiled with older header file has a smaller "struct ibv_context" and
use the old offset to find fields after "ops".

--CQ


> -----Original Message-----
> From: Roland Dreier [mailto:rdreier at cisco.com]
> Sent: Tuesday, December 04, 2007 6:18 PM
> To: Tang, Changqing
> Cc: Tziporet Koren; ewg at lists.openfabrics.org;
> general at lists.openfabrics.org
> Subject: Re: [ofa-general] OFED 1.3 Beta release is available
>
>  > Here is an issue we have:
>  >
>  > struct ibv_context {
>  >         struct ibv_device      *device;
>  >         struct ibv_context_ops  ops;
>  >         int                     cmd_fd;
>  >         int                     async_fd;
>  >         int                     num_comp_vectors;
>  >         pthread_mutex_t         mutex;
>  >         void                   *abi_compat;
>  > };
>  >
>  > The binary is compiled with OFED 1.2 header files,  it
> tries to set async_fd to non-blocking, I get error:
>  > Bad file descriptor.   If I compile the binary with
> OFED-1.3-beta header files (with XRC changes), it works fine.
>  >
>  > Is this the expected behavior, or there will be a fix ?
>
> Unfortunately the XRC patches were put into OFED 1.3 before
> they went into the upstream libibverbs tree, so I have not
> reviewed them in detail.  If XRC support requires an ABI
> change, then we'll have to create a new ABI and provide
> versioned symbols for backwards compatibility.
>
> However your problem seems quite strange: I don't see any
> change to struct ibv_context caused by the XRC patches.  So I
> don't understand exactly what is causing the problem you see.
>  Can you debug further to see which structure layout change
> is the real issue?
>
>  - R.
>



More information about the ewg mailing list