From mboxrd@z Thu Jan 1 00:00:00 1970 From: Avi Kivity Subject: Re: [ANNOUNCE] kvm-51 release Date: Sun, 11 Nov 2007 18:53:20 +0200 Message-ID: <47373380.8040809@qumranet.com> References: <4731F5B5.1000108@qumranet.com> <473435B6.1000503@bppiac.hu> <4736C752.7060703@qumranet.com> <4736FC77.2080804@bppiac.hu> <47371510.3020804@qumranet.com> <47372070.30604@cisco.com> <47372600.9080009@cisco.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------010409020507050204060700" Cc: kvm-devel To: david ahern Return-path: In-Reply-To: <47372600.9080009-FYB4Gu1CFyUAvxtiuMwx3w@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 This is a multi-part message in MIME format. --------------010409020507050204060700 Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit david ahern wrote: > In RHEL 5.1 defines: > > #define CPU_TASKS_FROZEN 0x0010 > > #define CPU_ONLINE_FROZEN (CPU_ONLINE | CPU_TASKS_FROZEN) > #define CPU_DEAD_FROZEN (CPU_DEAD | CPU_TASKS_FROZEN) > > which means in kvm-51/kernel/external-module-compat.h the '#ifndef CPU_TASKS_FROZEN' needs to have a case. For my purposes, I just moved up the endif around what was defined. > I committed a change which renders this unnecessary. Will be part of kvm-52. > With that change, kvm-51 compiles. I am still seeing 32-bit SMP guests hang on boot for both 32-bit and 64-bit hosts (again running RHEL5.1). > > I still don't. Can you test the attached patch? -- error compiling committee.c: too many arguments to function --------------010409020507050204060700 Content-Type: text/x-patch; name="scfs-simplify.patch" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="scfs-simplify.patch" diff --git a/kernel/external-module-compat.h b/kernel/external-module-compat.h index 2b005e9..29917e4 100644 --- a/kernel/external-module-compat.h +++ b/kernel/external-module-compat.h @@ -45,20 +45,25 @@ #include #include -static spinlock_t scfs_lock = SPIN_LOCK_UNLOCKED; -static int scfs_cpu; -static void (*scfs_func)(void *info); +struct scfs_thunk_info { + int cpu; + void (*func)(void *info); + void *info; +}; -static void scfs_thunk(void *info) +static inline void scfs_thunk(void *_thunk) { - if (raw_smp_processor_id() == scfs_cpu) - scfs_func(info); + struct scfs_thunk_info *thunk = _thunk; + + if (raw_smp_processor_id() == thunk->cpu) + thunk->func(thunk->info); } static inline int smp_call_function_single1(int cpu, void (*func)(void *info), void *info, int nonatomic, int wait) { int r, this_cpu; + struct scfs_thunk_info thunk; this_cpu = get_cpu(); if (cpu == this_cpu) { @@ -67,11 +72,10 @@ static inline int smp_call_function_single1(int cpu, void (*func)(void *info), func(info); local_irq_enable(); } else { - spin_lock(&scfs_lock); - scfs_cpu = cpu; - scfs_func = func; - r = smp_call_function(scfs_thunk, info, nonatomic, wait); - spin_unlock(&scfs_lock); + thunk.cpu = cpu; + thunk.func = func; + thunk.info = info; + r = smp_call_function(scfs_thunk, &thunk, 0, 1); } put_cpu(); return r; --------------010409020507050204060700 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline ------------------------------------------------------------------------- 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/ --------------010409020507050204060700 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ kvm-devel mailing list kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org https://lists.sourceforge.net/lists/listinfo/kvm-devel --------------010409020507050204060700--