From mboxrd@z Thu Jan 1 00:00:00 1970 From: Avi Kivity Subject: Re: [PATCH] interrupt preemption support Date: Mon, 19 Mar 2007 16:00:51 +0200 Message-ID: <45FE9793.3060204@qumranet.com> References: <45F97019.BA47.005A.0@novell.com> <45FA414C.1040703@qumranet.com> <45FA4489.BA47.005A.0@novell.com> <45FCD226.2010603@qumranet.com> <45FE4FB1.BA47.005A.0@novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Cc: kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org To: Gregory Haskins Return-path: In-Reply-To: <45FE4FB1.BA47.005A.0-Et1tbQHTxzrQT0dZR+AlfA@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 Gregory Haskins wrote: > Hi Avi, > You make good points. I will convert to a nest lock design and resubmit. Should I use two mutexes, or a mutex and spinlock? > > Also, do you have any suggestions on the signum I should use to IPI the running guest? Should I use one of the normal signals (SIGUSR) or should I start a block of defined signals in the RT range (>32)? > For a short term solution, where the apic is in userspace, we can just say ipi == signal, and not require any locking. Qemu will catch the signal and call the appropriate apic function. The signal number should be set from userspace. Longer term, with the apic in the kernel, we'll need to protect the apic/interrupt data structures with a spinlock, and use kick_process() or similar instead of a signal. -- error compiling committee.c: too many arguments to function ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV