From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60415) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aMBui-0007yB-GF for qemu-devel@nongnu.org; Thu, 21 Jan 2016 04:52:25 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aMBue-0008Dm-Fu for qemu-devel@nongnu.org; Thu, 21 Jan 2016 04:52:24 -0500 Received: from mx1.redhat.com ([209.132.183.28]:47137) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aMBue-0008Dg-AF for qemu-devel@nongnu.org; Thu, 21 Jan 2016 04:52:20 -0500 Message-ID: <1453369937.11655.55.camel@redhat.com> From: Gerd Hoffmann Date: Thu, 21 Jan 2016 10:52:17 +0100 In-Reply-To: <56A09F6A.2030609@redhat.com> References: <1453110880.23289.7.camel@redhat.com> <56A09F6A.2030609@redhat.com> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Mime-Version: 1.0 Subject: Re: [Qemu-devel] RFC: running the user interface in a thread ... List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini Cc: David Airlie , Dave Airlie , qemu-devel , =?ISO-8859-1?Q?Marc-Andr=E9?= Lureau On Do, 2016-01-21 at 10:05 +0100, Paolo Bonzini wrote: >=20 > On 21/01/2016 09:44, Dave Airlie wrote: > > I've hacked on this before, but only with SDL and it was pretty dirty, > > and it gave a fairly decent > > speed up. > >=20 > > My thoughts are to use dataplane like design to process the queue in a > > separate thread, > > and then have some sort of channel between the UI and virtio-gpu > > thread to handle things like > > screen resize etc. > >=20 > > http://cgit.freedesktop.org/~airlied/qemu/commit/?h=3Ddave3d&id=3Dfe22a= 0955255afef12b947c4a91efa57e7a7c429 > > is my previous horror patch. >=20 > Instead of having a full-blown thread, are there things (such as the > TGSI->GLSL conversion) that could be simply offloaded to a userspace > thread pool, either in QEMU or in virglrenderer? I think virglrenderer would have to do that. Unfortunaly opengl isn't very good at multithreading, so I'm not sure a thread pool would work well. Compiling shaders could be a special case where threading actually works because that isn't in the actual rendering workflow. Not fully sure though, Dave? cheers, Gerd