[openib-general] Question about ehca CQ handling

Christoph Raisch RAISCH at de.ibm.com
Mon Oct 2 06:58:43 PDT 2006


> While looking over the ehca driver from the perspective of adding a
> "peek CQ" operation, I noticed some code that looked funny.
>
> In hipz_set_cqx_n0() and hipz_set_cqx_n1(), what is the point of the
> calls to hipz_galpa_load_cq()?  The return value is discarded.  I see
> that hipz_galpa_load_cq() dereferences a volatile pointer internally,
> so I'm guessing this is some sort of ordering constraint.  But would
> it be just as good to do "barrier()" there?
>
>  - R.

No, barrier won't help,
the I/O bus connection is theoretically allowed to reorder and aggregate
writes in a defined pattern.
The recommended way to ensure that the ehca chip actually has seen the
write is doing a read on the same address.

Gruss / Regards . . . Christoph R






More information about the general mailing list