Messages in this thread | | | Date | Fri, 12 Jul 2019 14:45:25 -0300 | From | Jason Gunthorpe <> | Subject | Re: Re: Re: Re: Re: [PATCH] rdma/siw: avoid smp_store_mb() on a u64 |
| |
On Fri, Jul 12, 2019 at 05:40:43PM +0000, Bernard Metzler wrote: > It is because there are two levels a CQ can be armed: > > #include <infiniband/verbs.h> > > int ibv_req_notify_cq(struct ibv_cq *cq, int solicited_only); > > If we kick the CQ handler, we have to clear the whole > thing. The user later again decides how he wants to get it > re-armed...SOLICITED completions only, or ALL signaled.
Arrange it so only one of the two bits is ever set and do two test-and-set bits when a SOLICITED CQE comes in?
Jason
| |