<br><br><div><span class="gmail_quote">On 9/21/05, <b class="gmail_sendername">Roland Dreier</b> <<a href="mailto:rolandd@cisco.com">rolandd@cisco.com</a>> wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
    Caitlin> I'm not sure I follow what a "completion channel" is.  My<br>    Caitlin> understanding is that work completions are stored in<br>    Caitlin> user-accessible memory (typically a ring buffer). This
<br>    Caitlin> enables fast-path reaping of work completions. The OS has<br>    Caitlin> no involvement unless notifications are enabled.<br><br>Right.  Notifications ("events" in the terminology I used) are the
<br>only thing I was talking about.<br><br>    Caitlin> The "completion vector" is used to report completion<br>    Caitlin> notifications. So is the completion vector a *single*<br>    Caitlin> resource used by the driver/verbs to report completions,
<br>    Caitlin> where said notifications are then split into user context<br>    Caitlin> dependent "completion channels"?<br><br>Yes.</blockquote><div><br>
<br>
And how does a completion vector relate to callbacks? Would this<br>
be typically identifying the number of "processing resources" (such<br>
as distinct execution contexts) that  will be allocated?<br>
<br>
Or more formally, if two CQs use the same completion vector, are<br>
we guaranteed that  they will not have concurrent callbacks?<br>
 <br>
</div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">    Caitlin> The RDMAC verbs did not define callbacks to userspace at<br>    Caitlin> all. Instead it is assumed that the proxy for user mode
<br>    Caitlin> services will receive the callbacks, and how it relays<br>    Caitlin> those notifications to userspace is outside the scope of<br>    Caitlin> the verbs.<br><br>That "outside the scope" part is exactly what I'm talking about
<br>implementing here.</blockquote><div><br>
<br>
How would this enable kernel mode processing of notifications<br>
for a user-mode CQ by the proxy?<br>
</div></div><br>