[openib-general] Re: uverbs events
ardavis
ardavis at ichips.intel.com
Mon Apr 11 18:08:10 PDT 2005
Roland Dreier wrote:
> ardavis> Redhat EL 4.0, 64-bit
>
>OK, I found a system with that distro installed, although I can't test
>the results of the build. However, I built libmthca with the same
>CFLAGS that rpm seems to use, namely "-g -O2 -m64 -pipe". I found
>that mthca_tavor_arm_cq() compiles to the following tiny fragment:
>
>0000000000001d10 <mthca_tavor_arm_cq>:
> 1d10: 48 8b 07 mov (%rdi),%rax
> 1d13: 48 8b 90 a8 ef ff ff mov 0xffffffffffffefa8(%rax),%rdx
> 1d1a: 48 8b 44 24 f8 mov 0xfffffffffffffff8(%rsp),%rax
> 1d1f: 48 89 42 20 mov %rax,0x20(%rdx)
> 1d23: 31 c0 xor %eax,%eax
> 1d25: c3 retq
>
>in other words, the compiler seems to be discarding all the
>assignments to doorbell[0] and doorbell[1]. I'm not sure if this is a
>compiler bug or what -- I need to investigate further. In any case
>can you try the following patch to libmthca and see if it fixes
>things:
>
>Index: src/cq.c
>===================================================================
>--- src/cq.c (revision 2156)
>+++ src/cq.c (working copy)
>@@ -441,6 +441,8 @@ int mthca_tavor_arm_cq(struct ibv_cq *cq
> to_mcq(cq)->cqn);
> doorbell[1] = 0xffffffff;
>
>+ mb();
>+
> mthca_write64(doorbell, to_mctx(cq->context), MTHCA_CQ_DOORBELL);
>
> return 0;
>
>
>
Yes, this fixes my problem. Thanks!
More information about the general
mailing list