From mboxrd@z Thu Jan 1 00:00:00 1970 From: Avi Kivity Subject: Re: kernel device reset support Date: Mon, 15 Oct 2007 11:10:53 +0200 Message-ID: <47132E9D.7030500@qumranet.com> References: <10EA09EFD8728347A513008B6B0DA77A0231BB36@pdsmsx411.ccr.corp.intel.com> <470A0556.80903@qumranet.com> <10EA09EFD8728347A513008B6B0DA77A0231BD83@pdsmsx411.ccr.corp.intel.com> <470B4B2E.1000500@qumranet.com> <10EA09EFD8728347A513008B6B0DA77A0231C1AA@pdsmsx411.ccr.corp.intel.com> <470B5528.2010605@qumranet.com> <10EA09EFD8728347A513008B6B0DA77A0231C1B2@pdsmsx411.ccr.corp.intel.com> <470B5E3B.4060006@qumranet.com> <10EA09EFD8728347A513008B6B0DA77A02364242@pdsmsx411.ccr.corp.intel.com> <470CA814.9050907@qumranet.com> <10EA09EFD8728347A513008B6B0DA77A02364638@pdsmsx411.ccr.corp.intel.com> <470E130D.6080808@qumranet.com> <10EA09EFD8728347A513008B6B0DA77A02364C43@pdsmsx411.ccr.corp.intel.com> <470F11B9.4050501@qumranet.com> <10EA09EFD8728347A513008B6B0DA77A02364F85@pdsmsx411.ccr.corp.i ntel.com> <471070D8.7030402@qumranet.com> <10EA09EFD8728347A513008B6B0DA77A023A6DFE@pdsmsx411.ccr.corp.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Cc: kvm-devel To: "Dong, Eddie" Return-path: In-Reply-To: <10EA09EFD8728347A513008B6B0DA77A023A6DFE-wq7ZOvIWXbNpB2pF5aRoyrfspsVTdybXVpNB7YpNyf8@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: kvm-devel-bounces-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org Errors-To: kvm-devel-bounces-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org List-Id: kvm.vger.kernel.org Dong, Eddie wrote: >> N+1, for me is that synchronous device emulation (like pio and mmio) >> happens in in the vcpu thread and asynchronous device emulation >> (handling signals in qemu, performing dma, and injecting interrupts) >> happens in the device thread. This minimizes context switching and >> heavyweight exits. >> >> > If this is true, then the N+1 thread won't be able to execute > qemu_system_reset > which is in VCPU contents, I don't understand. It can certainly access any qemu object (after taking qemu_mutex), and it can call any kvm vm ioctl. > nor can asyn I/O call back APIs. > Do you mean signal handlers? Sure, but we wait for socket I/O in select() and even dequeue signals synchronously. -- error compiling committee.c: too many arguments to function ------------------------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/