]> git.openfabrics.org - ~shefty/rdma-win.git/commit
[MTHCA] bugfix: data corruption while registering MR
authorleonidk <leonidk@ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86>
Wed, 20 Sep 2006 11:55:57 +0000 (11:55 +0000)
committerleonidk <leonidk@ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86>
Wed, 20 Sep 2006 11:55:57 +0000 (11:55 +0000)
commit6c6bed88944bbd1fe68727dff274a0c77c8d27b3
tree22db82434321ac72b7ca343f371a8a142287bf49
parenta06c0592c83a6915065cbeb211cb7e74c466839a
[MTHCA] bugfix: data corruption while registering MR

  If a buffer to be registered overlaps a buffer, already registered, a race can happen between HCA, writing to the previously registered buffer and the probing functions (MmProbeAndLockPages, MmSecureVirtualMemory), used in the algorithm of memory registration.
  To prevent the race we maintain reference counters for the physical pages, being registered, and register every physical page FOR THE WRITE ACCESS only once.

git-svn-id: svn://openib.tc.cornell.edu/gen1@501 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86
trunk/hw/mthca/kernel/SOURCES
trunk/hw/mthca/kernel/hca_driver.c
trunk/hw/mthca/kernel/mt_memory.c
trunk/hw/mthca/kernel/mt_memory.h
trunk/hw/mthca/kernel/mt_pa_cash.c [new file with mode: 0644]
trunk/hw/mthca/kernel/mt_pa_cash.h [new file with mode: 0644]
trunk/hw/mthca/kernel/mthca_provider.c