[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