From mboxrd@z Thu Jan 1 00:00:00 1970 From: Avi Kivity Subject: Re: [PATCH] Define smp_call_function_mask() on uniprocessor builds Date: Wed, 24 Oct 2007 16:54:35 +0200 Message-ID: <471F5CAB.9020300@qumranet.com> References: <11932158852325-git-send-email-avi@qumranet.com> <20071024074354.9edd4cee.akpm@linux-foundation.org> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Cc: kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org, bunk-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org, Linus Torvalds , linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, jeff-o2qLIJkoznsdnm+yROfE0A@public.gmane.org To: Andrew Morton Return-path: In-Reply-To: <20071024074354.9edd4cee.akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@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 Andrew Morton wrote: > On Wed, 24 Oct 2007 10:51:25 +0200 Avi Kivity wrote: > > >> Rather than #ifdef users of smp_call_function_mask(), define it as an >> empty macro to avoid build errors. The function explicitly prohibits >> callers from specifying the current cpu, so nothing needs to be done. >> >> This unbreaks uniprocessor KVM builds. >> >> Signed-off-by: Avi Kivity >> >> diff --git a/include/linux/smp.h b/include/linux/smp.h >> index 259a13c..24e2e31 100644 >> --- a/include/linux/smp.h >> +++ b/include/linux/smp.h >> @@ -108,6 +108,9 @@ static inline void smp_send_reschedule(int cpu) { } >> 0; \ >> }) >> >> +#define smp_call_function_mask(mask, func, info, wait) \ >> + do { (void)(mask); (void)(func); (void)(info); (void)(wait); } while (0) >> + >> #endif /* !SMP */ >> >> /* >> > > The real smp_call_function_mask() returns int, so this version should do so > also. > > Right. Ingo sent a patch which does this. [I can't think of a way to use that int though] > An inlined C function will provide the needed references to the arguments - > no need for those funny (void) thingies. And it will provide typechecking. > Last time I did this (on smp_call_function_single()), the build broke on a zillion-and-a-half archs due to include file hell. That got patched into a macro. I saw the cpumask_t in there and got cold feet. -- 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/