From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Nn2pm-00072o-NM for qemu-devel@nongnu.org; Wed, 03 Mar 2010 23:38:50 -0500 Received: from [199.232.76.173] (port=36160 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Nn2pm-00072P-9r for qemu-devel@nongnu.org; Wed, 03 Mar 2010 23:38:50 -0500 Received: from Debian-exim by monty-python.gnu.org with spam-scanned (Exim 4.60) (envelope-from ) id 1Nn2pj-0006ve-5M for qemu-devel@nongnu.org; Wed, 03 Mar 2010 23:38:50 -0500 Received: from mx1.redhat.com ([209.132.183.28]:24874) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1Nn2pi-0006vU-FT for qemu-devel@nongnu.org; Wed, 03 Mar 2010 23:38:47 -0500 Date: Thu, 4 Mar 2010 01:21:12 -0300 From: Marcelo Tosatti Message-ID: <20100304042112.GA16029@amt.cnet> References: <2257cac7474705fc35d74fcdff0566fb7dc0770e.1267467030.git.jan.kiszka@siemens.com> <20100302001415.GA22627@amt.cnet> <4B8CC584.1060106@web.de> <20100302115531.GA19713@amt.cnet> <4B8D3D4D.8080601@siemens.com> <20100303022910.GA21054@amt.cnet> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="sdtB3X0nJg68CQEu" Content-Disposition: inline In-Reply-To: <20100303022910.GA21054@amt.cnet> Subject: [Qemu-devel] Re: [PATCH 2/4] KVM: Rework VCPU state writeback API List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Jan Kiszka , Anthony Liguori , Kevin O'Connor Cc: Avi Kivity , kvm@vger.kernel.org, qemu-devel@nongnu.org --sdtB3X0nJg68CQEu Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Tue, Mar 02, 2010 at 11:29:10PM -0300, Marcelo Tosatti wrote: > On Tue, Mar 02, 2010 at 05:31:09PM +0100, Jan Kiszka wrote: > > Marcelo Tosatti wrote: > > > On Tue, Mar 02, 2010 at 09:00:04AM +0100, Jan Kiszka wrote: > > >> Marcelo Tosatti wrote: > > >>> On Mon, Mar 01, 2010 at 07:10:30PM +0100, Jan Kiszka wrote: > > >>>> This grand cleanup drops all reset and vmsave/load related > > >>>> synchronization points in favor of four(!) generic hooks: > > >>>> > > >>>> - cpu_synchronize_all_states in qemu_savevm_state_complete > > >>>> (initial sync from kernel before vmsave) > > >>>> - cpu_synchronize_all_post_init in qemu_loadvm_state > > >>>> (writeback after vmload) > > >>>> - cpu_synchronize_all_post_init in main after machine init > > >>>> - cpu_synchronize_all_post_reset in qemu_system_reset > > >>>> (writeback after system reset) > > >>>> > > >>>> These writeback points + the existing one of VCPU exec after > > >>>> cpu_synchronize_state map on three levels of writeback: > > >>>> > > >>>> - KVM_PUT_RUNTIME_STATE (during runtime, other VCPUs continue to run) > > >>>> - KVM_PUT_RESET_STATE (on synchronous system reset, all VCPUs stopped) > > >>>> - KVM_PUT_FULL_STATE (on init or vmload, all VCPUs stopped as well) > > >>>> > > >>>> This level is passed to the arch-specific VCPU state writing function > > >>>> that will decide which concrete substates need to be written. That way, > > >>>> no writer of load, save or reset functions that interact with in-kernel > > >>>> KVM states will ever have to worry about synchronization again. That > > >>>> also means that a lot of reasons for races, segfaults and deadlocks are > > >>>> eliminated. > > >>>> > > >>>> cpu_synchronize_state remains untouched, just as Anthony suggested. We > > >>>> continue to need it before reading or writing of VCPU states that are > > >>>> also tracked by in-kernel KVM subsystems. > > >>>> > > >>>> Consequently, this patch removes many cpu_synchronize_state calls that > > >>>> are now redundant, just like remaining explicit register syncs. > > >>>> > > >>>> Signed-off-by: Jan Kiszka > > >>> Jan, > > >>> > > >>> This patch breaks system reset of WinXP.32 install (more easily > > >>> reproducible without iothread enabled). > > >>> > > >>> Screenshot attached. > > >>> > > >> Strange - no issues with qemu-kvm? Any special command line switch? /me > > >> goes scrounging for some installation XP32 CD in the meantime... > > > > > > No issues with qemu-kvm. Could not spot anything obvious. > > > > > > > And, of course, my WinXP installation did not trigger any reset issue, > > even in non-iothreaded mode. :( The regression seems to be caused by seabios commit d7e998f. Kevin, the failure can be seen on the attached screenshot, which happens on the first reboot of WinXP 32 installation (after copying files etc). --sdtB3X0nJg68CQEu Content-Type: image/png Content-Disposition: attachment; filename="uqmaster-failure.png" Content-Transfer-Encoding: base64 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 N3gAfIb/Hvw1/yPDWyPcDeOMOK0MACDrn7fFvjEOsl5vzgSAW/vn5W3bNUf3s/+Wwu2AjqcT rt7cGOy1++qv+rDjPGt23M1w9+GPpRs0Rx7/CgBv8d8VjvhU/fqe3XQVZLtLkGGQlH7L337j 3w2vKfLuKpeWNUfasLVTDvYXAJzn7xWO16sNBnqc//rsyjc8NYXR2g67F1HOO/Hvvu8DAGbw zy2VM9Ycp9q+dWyI4cujK29tuI0CwIROfz09JaUbIu+MCQDOcb8Fx8/NkZuWtcrwteboXm0E EWaTrmw9AHjZefBX31899P0ZxW5Z2b/aSD9sCr705y0Hq9waxlK+ttERYXdZAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA7Pp6Pp+ltMfjcWUoAMCn+n53AAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA kPM/vbkIJvDrP1YAAAAASUVORK5CYII= --sdtB3X0nJg68CQEu--