<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body bgcolor="#ffffff" text="#000000">
<big>Hi All,<br>
<br>
I request feedback for few queries related to mapping HCA registers in
user space and kernel space, just for understanding and not for any
specific purpose such as RDS etc..<br>
<br>
1. I find HCA driver provides 2 verbs call : 'open_ca' and
'um_open_ca' to get handle to CA. As I understand , 'open_ca()'
provides HCA access to kernel space<br>
and 'um_open_ca()' provides HCA access to user space. So in order to do
post_send/post_recv from kernel mode, HCA handle should be obtained
using 'open_ca()';<br>
Similarly 'um_open_ca()' provides HCA handle to do post_send/post_recv
from user space. Please let me if you agree with the same.<br>
<br>
<br>
2. I observe Winverbs driver call HCA 'um_open_ca(..)' while opening
winverbs device object as below:<br>
<br>
WvDeviceInit()<br>
{<br>
<br>
....<br>
pDevice->pVerbs->um_open_ca(..)<br>
...<br>
<br>
}<br>
<br>
So essentially it looks winverbs does not provide any scope for kernel
mode HCA access and hence do post_send/post_receive from kernel space.
Can it be possible to have option in create to facilitate both kernel
mode and user mode CA mapping in winverbs driver ? or do you see any
other issues in supporting 'open_ca()' in winverbs driver.<br>
<br>
Regards,<br>
Prasanna</big><br>
</body>
</html>