aboutsummaryrefslogtreecommitdiff
path: root/hw/virtio/vhost-backend.c
diff options
context:
space:
mode:
authorMichael S. Tsirkin <mst@redhat.com>2015-10-28 17:48:04 +0200
committerStefan Hajnoczi <stefanha@redhat.com>2015-11-09 09:59:32 +0000
commit8347c53243b58ad5e4d623d2403853404e9043a1 (patch)
tree83f92608e2bea6db250bcf987e25834ed97c87ac /hw/virtio/vhost-backend.c
parent572ec519ed6fe68f10ec65963527536c2322eab0 (diff)
dataplane: support non-contigious s/g
bring_map currently fails if one of the entries it's mapping is contigious in GPA but not HVA address space. Introduce a mapped_len parameter so it can handle this, returning the actual mapped length. This will still fail if there's no space left in the sg, but luckily max queue size in use is currently 256, while max sg size is 1024, so we should be OK even is all entries happen to cross a single DIMM boundary. Won't work well with very small DIMM sizes, unfortunately: e.g. this will fail with 4K DIMMs where a single request might span a large number of DIMMs. Let's hope these are uncommon - at least we are not breaking things. Reported-by: Stefan Hajnoczi <stefanha@redhat.com> Reported-by: Igor Mammedov <imammedo@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Tested-by: Igor Mammedov <imammedo@redhat.com> Message-id: 1446047243-3221-2-git-send-email-mst@redhat.com Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Diffstat (limited to 'hw/virtio/vhost-backend.c')
0 files changed, 0 insertions, 0 deletions