Home
last modified time | relevance | path

Searched hist:"309 bba39" (Results 1 – 1 of 1) sorted by relevance

/openbmc/linux/drivers/vhost/
H A Dvringh.c309bba39 Fri Jun 24 02:56:56 CDT 2022 Stefano Garzarella <sgarzare@redhat.com> vringh: iterate on iotlb_translate to handle large translations

iotlb_translate() can return -ENOBUFS if the bio_vec is not big enough
to contain all the ranges for translation.
This can happen for example if the VMM maps a large bounce buffer,
without using hugepages, that requires more than 16 ranges to translate
the addresses.

To handle this case, let's extend iotlb_translate() to also return the
number of bytes successfully translated.
In copy_from_iotlb()/copy_to_iotlb() loops by calling iotlb_translate()
several times until we complete the translation.

Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
Message-Id: <20220624075656.13997-1-sgarzare@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>