From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:52634) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Zbayz-0002PV-W8 for qemu-devel@nongnu.org; Mon, 14 Sep 2015 17:08:14 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Zbayz-0008DH-8M for qemu-devel@nongnu.org; Mon, 14 Sep 2015 17:08:13 -0400 Received: from mail-la0-x231.google.com ([2a00:1450:4010:c03::231]:34863) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Zbayz-0008C8-0e for qemu-devel@nongnu.org; Mon, 14 Sep 2015 17:08:13 -0400 Received: by lagj9 with SMTP id j9so96286055lag.2 for ; Mon, 14 Sep 2015 14:08:10 -0700 (PDT) MIME-Version: 1.0 In-Reply-To: References: <1442239599.13588.5.camel@redhat.com> Date: Tue, 15 Sep 2015 07:08:10 +1000 Message-ID: From: Dave Airlie Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] virtio-gpu: cursor update not in sync with resource update List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: =?UTF-8?B?TWFyYy1BbmRyw6kgTHVyZWF1?= Cc: Gerd Hoffmann , QEMU On 15 September 2015 at 01:17, Marc-Andr=C3=A9 Lureau wrote: > Hi > > On Mon, Sep 14, 2015 at 4:06 PM, Gerd Hoffmann wrote: >> The guest can upload different cursors and then switch between them >> without re-uploading and therefore without ctrl queue updates. Thats >> why they have an id in the first place ... > > Ok, but the cursor id is reused most of the time. So there are at > least two things to fix: use different cursor ids for different cursor > data (with some cache management probably), fix kernel to only upload > new resource id and wait for data to be transfered. Is that correct? Currently the kernel driver does this: ret =3D virtio_gpu_cmd_transfer_to_host_2d(vgdev, qobj->hw_res_hand= le, 0, cpu_to_le32(64), cpu_to_le32(64), 0, 0, &fence); if (!ret) { reservation_object_add_excl_fence(qobj->tbo.resv, &fence->f); virtio_gpu_object_wait(qobj, false); } before moving the cursor, shouldn't that suffice? Do we fail the transfer sometimes? Dave.