[openib-general][PATCH][kdapl]: evd upcall policy implementation
Guy German
guyg at voltaire.com
Sun Aug 14 10:12:45 PDT 2005
James Lentini <mailto:jlentini at netapp.com> wrote:
>> You changed the order in which the CQ upcall is enabled and the kDAPL
>> upcall is made. It used to be:
>>
>> enable CQ upcall
>> call kDAPL upcall
>>
>> you are proposing
>>
>> call kDAPL upcall
>> enable CQ upcall
>>
>> I think your proposed order contains a race condition. Specifically
>> if a work completion occurs after dapl_evd_upcall_trigger()
>> returns but before the CQ upcall is re-enabled with
>> ib_req_notify_cq(), no upcall will occur for the completion.
>>
>> Do you agree?
Or, has turned my attention to the fact that also in the first case
You have the alleged race: if a work completion occurs just
before you enable the CQ upcall...
Are you suggesting that enabling the CQ upcall will not trigger the
CQ upcall, if completions happened before enabling?
I don't think this is the case, but I'm not 100% sure...
As I mentioned before, and regardless to this issue, I still believe
that the right order should be:
>> call kDAPL upcall
>> (conditionally) enable CQ upcall
We can't have interrupts if the consumer disabled the upcall policy...
Guy.
More information about the general
mailing list