freedreno/drm/virtio: Don't prefer upload for mapped buffers
authorRob Clark <robdclark@chromium.org>
Wed, 14 Sep 2022 21:04:38 +0000 (14:04 -0700)
committerMarge Bot <emma+marge@anholt.net>
Wed, 14 Sep 2022 22:46:18 +0000 (22:46 +0000)
The upload path is intended to avoid stalling on host in order to mmap
recently allocated buffers.  But if we already had to mmap it, no point
in taking the upload path.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18604>

src/freedreno/drm/virtio/virtio_bo.c

index b04733b..85ab250 100644 (file)
@@ -224,6 +224,12 @@ virtio_bo_prefer_upload(struct fd_bo *bo, unsigned len)
 {
    struct virtio_bo *virtio_bo = to_virtio_bo(bo);
 
+   /* If we've already taken the hit of mmap'ing the buffer, then no reason
+    * to take the upload path:
+    */
+   if (bo->map)
+      return false;
+
    if (len > 0x4000)
       return false;