From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NmFxS-0002LS-U6 for qemu-devel@nongnu.org; Mon, 01 Mar 2010 19:27:30 -0500 Received: from [199.232.76.173] (port=46596 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NmFxS-0002L9-Io for qemu-devel@nongnu.org; Mon, 01 Mar 2010 19:27:30 -0500 Received: from Debian-exim by monty-python.gnu.org with spam-scanned (Exim 4.60) (envelope-from ) id 1NmFxR-0001by-CV for qemu-devel@nongnu.org; Mon, 01 Mar 2010 19:27:30 -0500 Received: from mx1.redhat.com ([209.132.183.28]:42243) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1NmFxQ-0001bs-TI for qemu-devel@nongnu.org; Mon, 01 Mar 2010 19:27:29 -0500 Date: Mon, 1 Mar 2010 21:14:15 -0300 From: Marcelo Tosatti Message-ID: <20100302001415.GA22627@amt.cnet> References: <2257cac7474705fc35d74fcdff0566fb7dc0770e.1267467030.git.jan.kiszka@siemens.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="tThc/1wpZn/ma/RB" Content-Disposition: inline In-Reply-To: <2257cac7474705fc35d74fcdff0566fb7dc0770e.1267467030.git.jan.kiszka@siemens.com> 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 Cc: Avi Kivity , kvm@vger.kernel.org, qemu-devel@nongnu.org --tThc/1wpZn/ma/RB Content-Type: text/plain; charset=us-ascii Content-Disposition: inline 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. --tThc/1wpZn/ma/RB 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= --tThc/1wpZn/ma/RB--