[openib-general] [PATCH/RFC 2.6.21 0/5] ehca: remove use of do_mmap() from kernel space

Hoang-Nam Nguyen hnguyen at linux.vnet.ibm.com
Thu Jan 11 11:07:33 PST 2007


Hello Roland and Christoph H.!
Here is a set of patches for ehca, whose main purpose is to remove unproper use of
do_mmap() in ehca kernel space as suggested by Christoph H. Other "small" changes
are:
* Remove "dead" prototype declarations (those without code implementation)

Now detail on mmap() rework:
- For eHCA hardware register block we use remap_pfn_range() as previously.
- For queue pages we call pattern vm_insert_page() to register each allocated
kernel page.
- For each mmap-ed resource (hardware register block, send/recv and completion
queue) we introduce a use counter that is incremented and decremented by
the call-backs open()/close(). Destroying a completion queue or queue pair
will succeed only if all associated counters are zero. That means those resources
must be mmap-ed and munmap-ed properly in user space.
The actual calls of mmap64() and munmap() are done then in ehca user space lib,
ie. libehca, for which I will send a separate patch for another review (by ofed
group).

Thanks
Nam


 ehca_classes.h |   29 +-----
 ehca_cq.c      |   65 +++-----------
 ehca_iverbs.h  |   10 --
 ehca_main.c    |    6 -
 ehca_qp.c      |   78 +++--------------
 ehca_uverbs.c  |  253 ++++++++++++++++++---------------------------------------
 6 files changed, 121 insertions(+), 320 deletions(-)




More information about the general mailing list