1
1
openmpi/opal/mca/btl/vader
Gilles Gouaillardet 9fedf2836e btl/vader: handle unexpected short read/write in process_vm_{read,write}v
Important note :

According to the man page
"On success, process_vm_readv() returns the number of bytes read and
process_vm_writev() returns the number of bytes written.  This return
value may be less than the total number of requested bytes, if a
partial read/write occurred.  (Partial transfers apply at the
granularity of iovec elements.  These system calls won't perform a
partial transfer that splits a single iovec element.)"

So since we use a single iovec element, the returned size should either
be 0 or size, and the do loop should not be needed here.
We tried on various Linux kernels with size > 2 GB, and surprisingly,
the returned value is always 0x7ffff000 (fwiw, it happens to be the size
of the larger number of pages that fits a signed 32 bits integer).
We do not know whether this is a bug from the kernel, the libc or even
the man page, but for the time being, we do as is process_vm_readv() could
return any value.

Thanks Heiko Bauke for the bug report.

Refs. open-mpi/ompi#4829

Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2018-03-02 13:20:46 +09:00
..
btl_vader_component.c btl/vader: make the backing file job specific 2018-01-30 16:52:51 +09:00
btl_vader_endpoint.h btl/vader: reduce memory footprint when using xpmem 2016-10-27 10:09:43 -06:00
btl_vader_fbox.h btl/vader: change the way fast boxes are used 2017-12-11 10:38:33 -07:00
btl_vader_fifo.h opal/asm: remove opal_atomic_bool_cmpset functions 2017-11-30 10:41:22 -07:00
btl_vader_frag.c btl/vader: change the way fast boxes are used 2017-12-11 10:38:33 -07:00
btl_vader_frag.h btl/vader: change the way fast boxes are used 2017-12-11 10:38:33 -07:00
btl_vader_get.c btl/vader: handle unexpected short read/write in process_vm_{read,write}v 2018-03-02 13:20:46 +09:00
btl_vader_knem.c btl/vader: remove debug code that should not be in a release 2017-07-17 11:58:47 -05:00
btl_vader_knem.h opal: rework mpool and rcache frameworks 2016-03-14 10:50:41 -06:00
btl_vader_module.c btl/vader: change the way fast boxes are used 2017-12-11 10:38:33 -07:00
btl_vader_put.c btl/vader: handle unexpected short read/write in process_vm_{read,write}v 2018-03-02 13:20:46 +09:00
btl_vader_send.c btl/vader: change the way fast boxes are used 2017-12-11 10:38:33 -07:00
btl_vader_sendi.c Fix Mellanox copyrights with respect to the following PRs: 2015-12-30 00:12:19 +06:00
btl_vader_xpmem.c rcache/base: update VMA tree to use opal_interval_tree_t 2018-02-26 13:35:56 -07:00
btl_vader_xpmem.h btl/vader: reduce memory footprint when using xpmem 2016-10-27 10:09:43 -06:00
btl_vader.h btl/vader: move backing files into /dev/shm on Linux 2017-12-18 07:09:18 -08:00
configure.m4 m4: rename OMPI_SUMMARY_* macros to OPAL_SUMMARY_* 2016-04-20 08:40:00 -07:00
help-btl-vader.txt btl/vader: more updates to the help messages 2014-10-23 08:48:54 -06:00
Makefile.am mca: Dynamic components link against project lib 2017-08-24 11:56:16 -04:00
owner.txt add owner files to opa/ompi/orte mca directories 2015-02-22 15:10:23 -07:00