Re: RDMA read does not update local memory

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

I found out that some code does madvise(MADV_DONTNEED) on the
allocated memory.  I think that this unmaps the memory from the user
space process.  If the process touches the memory again, a COW mapping
or even a new, zeroed out page is mapped in the process.  Either way,
the relation between the physical page, where the data from the RDMA
read ends up and the virtual page is broken.

I realize that calling madvise(MADV_DONTNEED) doesn’t have any meaning
for RDMA-registered memory.  I feel however that my observed behavior
is a bug and one of the following should happen:
. madvise() on pinned memory/I/O memory should fail, i.e. return EINVAL,
 EIO or ENOMEM (I didn’t test what happens when you call 
madvise(MADV_DONTNEED) on I/O mem.)
. RDMA actions on madvise()’d memory should fail.

Best regards,
Hannes Weisbach--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux