diff options
| author | Stefano Garzarella <[email protected]> | 2022-06-24 09:56:56 +0200 |
|---|---|---|
| committer | Michael S. Tsirkin <[email protected]> | 2022-08-11 04:06:37 -0400 |
| commit | 309bba39c945ac8ab8083ac05cd6cfe5822968e0 (patch) | |
| tree | 6b1fba451ea14b42c44fed31826f48d3c5df4fd8 /tools/perf/scripts/python | |
| parent | 96ef18a24b87bef7c3d2dad72cf4c3013a9f7f35 (diff) | |
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 <[email protected]>
Message-Id: <[email protected]>
Signed-off-by: Michael S. Tsirkin <[email protected]>
Diffstat (limited to 'tools/perf/scripts/python')
0 files changed, 0 insertions, 0 deletions