From mboxrd@z Thu Jan 1 00:00:00 1970 From: Avi Kivity Subject: Re: kernel device reset support Date: Tue, 16 Oct 2007 12:25:45 +0200 Message-ID: <471491A9.8040207@qumranet.com> References: <10EA09EFD8728347A513008B6B0DA77A0231BB36@pdsmsx411.ccr.corp.intel.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.intel.com> <471070D8.7030402@qu mranet.com> <10EA09EFD8728347A513008B6B0DA77A023A6DFE@pdsmsx411.ccr.corp.intel.com> <47132E9D.7030500@qumranet.com> <10EA09EFD8728347A513008B6B0DA77A023A763C@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: <10EA09EFD8728347A513008B6B0DA77A023A763C-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: > Avi Kivity wrote: > >> 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. >> > > It can in theory, but do we have the real usage for > qemu_system_reset which is the only caller of > KERNEL RESET. > > Well, if the guest resets itself, then reset is called from the vcpu thread. If we reset from the qemu monitor, it can be called from a non-vcpu thread. >>> >> Do you mean signal handlers? Sure, but we wait for socket I/O in >> select() and even dequeue signals synchronously. >> >> >> > Qemu_system_reset is called only when a VCPU thread is doing. > > Anyway, wanna to see your whole proposal. > Yes, I'll prepare and post patched for review. -- 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/