Ralph> libmthca uses a single shared page which is created at
Ralph> driver open time. I'm mmaping vmalloc memory created at
Ralph> ibv_create_cq(), qp, srq time so I need a way to return the
Ralph> offset to ipathverbs.so to then pass to mmap().
Hmm... it seems simpler to have userspace allocate the memory with
mmap() before the resize_cq call, and then pass that new buffer into
the resize_cq call. That way you don't have a window where the kernel
is putting completions into a buffer that userspace doesn't know about.
Ralph> The new kernel drivers work with the old libibverbs and
Ralph> vice versa since only the cqe entry in struct
Ralph> ibv_resize_cq_resp is used. The reserved entry is only
Ralph> needed to avoid using "packed" structs if struct
Ralph> ibv_resize_cq_resp is included in another struct.
OK, I guess we're OK, since the kernel isn't checking the size of the
response buffer. old libipathverbs does need to bail out on a new ipath
kernel driver, though, or else you'll get corruption when responses go
off the end of a buffer.
- R.
_______________________________________________
openib-general mailing list
[email protected]
http://openib.org/mailman/listinfo/openib-general
To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general