From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:51682) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Qbw5o-0000h1-T7 for qemu-devel@nongnu.org; Wed, 29 Jun 2011 10:50:18 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Qbw5n-0003e8-Bu for qemu-devel@nongnu.org; Wed, 29 Jun 2011 10:50:16 -0400 Received: from mx1.redhat.com ([209.132.183.28]:58492) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Qbw5m-0003e4-RJ for qemu-devel@nongnu.org; Wed, 29 Jun 2011 10:50:15 -0400 Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id p5TEoDsJ019090 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Wed, 29 Jun 2011 10:50:14 -0400 Message-ID: <4E0B3BA2.3040905@redhat.com> Date: Wed, 29 Jun 2011 16:50:10 +0200 From: Gerd Hoffmann MIME-Version: 1.0 References: <1309348641-20061-1-git-send-email-alevy@redhat.com> <1309348641-20061-13-git-send-email-alevy@redhat.com> <4E0B2359.7000702@redhat.com> <20110629142747.GZ30873@bow.redhat.com> In-Reply-To: <20110629142747.GZ30873@bow.redhat.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCHv3] qxl: add QXL_IO_FLUSH_{SURFACES, RELEASE} for guest S3&S4 support List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org, yhalperi@redhat.com >>> + case QXL_IO_FLUSH_RELEASE: { >>> + QXLReleaseRing *ring =&d->ram->release_ring; >>> + if (ring->prod - ring->cons + 1 == ring->num_items) { >>> + // TODO - "return" a value to the guest and let it loop? >> ^^^^ >> Hmm. > So the story goes: I wrote this, but didn't actually see this happen in practice, > particularily since the driver empties the release ring. The simplest would be to > replace it with some fprintf(stderr) How do you think this could happen? If there are no unprocessed requests in the pipeline (shouldn't be, all surfaces are flushed to device memory and destroyedv at that point) and the driver cares empty the release ring before calling this it should not happen, right? cheers, Gerd