From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:37584) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RX5LG-0001pv-UW for qemu-devel@nongnu.org; Sun, 04 Dec 2011 01:14:27 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RX5LF-0003bU-JV for qemu-devel@nongnu.org; Sun, 04 Dec 2011 01:14:26 -0500 Received: from csmailer.cs.nctu.edu.tw ([140.113.235.130]:32059) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RX5LE-0003b7-T9 for qemu-devel@nongnu.org; Sun, 04 Dec 2011 01:14:25 -0500 Date: Sun, 4 Dec 2011 14:14:08 +0800 From: =?utf-8?B?6Zmz6Z+L5Lu7?= Message-ID: <20111204061408.GA11393@cs.nctu.edu.tw> References: <20111129070343.GA3585@cs.nctu.edu.tw> <20111201035024.GA88545@cs.nctu.edu.tw> <6A814C06-21FA-47FB-94BF-F3132310E191@suse.de> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <6A814C06-21FA-47FB-94BF-F3132310E191@suse.de> Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] Improve QEMU performance with LLVM codegen and other techniques List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Alexander Graf Cc: qemu-devel@nongnu.org, =?utf-8?B?6Zmz6Z+L5Lu7?= > > 3. Then a trace composed of TCG blocks is sent to a LLVM translator. = The translator > > generates the host binary for the trace into a LLVM code cache, and= patch the >=20 > I don't fully understand this part. Do you disassemble the x86 blob tha= t TCG emitted? We ask TCG to disassemble the guest binary where the trace beginning wi= th _again_ to get a set of TCG blocks, then sent them to the LLVM translator= . =20 > > the moment (make the situation simpler), I think we still don't have = to check > > the blocks' hflags and segment descriptors in the trace to see if the= y match. >=20 > Yeah. You only need to be sync'ed with the invalidation then. And make = sure you patch the TB atomically, so you don't have a separate thread acc= identally run half your code and half the old code. Sync'ed with the invalidation means tb_flush, cpu_unlink and tb_phys_in= validate? =20 Regards, chenwj --=20 Wei-Ren Chen (=E9=99=B3=E9=9F=8B=E4=BB=BB) Computer Systems Lab, Institute of Information Science, Academia Sinica, Taiwan (R.O.C.) Tel:886-2-2788-3799 #1667 Homepage: http://people.cs.nctu.edu.tw/~chenwj