mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 10:11:27 +01:00
There is no need to store the page pointers simply to transcribe the same information into iov later. Drop the guest_data intermediate array. These days, linux has a maximum limit of 1024 iovs. Libc under the hood will subdivide the submission if necessary, which is why our general case of 1026 submissions works. xenforeignmemory_map() maps the requested guest memory contiguously, and except for PV pagetable frames, we submit contiguously into the stream. When safe to do, merge adjacent vectors by extending iov_len, reducing the likelihood that libc needs to subdivide the submission. Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com> Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>