对于process_vm_readv,Linux手册页指出:
[...](避免)在单个远程iovec元素中跨越内存页面(通常为4KiB)。 (相反,将远程读取分为两个remote_iov元素,然后将它们合并回到单个write local_iov条目中。第一个读取条目到达页面边界,而第二个读取条目开始于下一个页面边界。)
现在我对此有些困惑。我知道为什么会这样,但是我不太了解如何解决。我是否需要找出页面边界在哪里?还是只要我提供2个remote_iov元素,函数便会自行解决?如果我阅读的内容超过4kiB,并且可能跨越2页边界。我需要将远程元素分为3部分吗?