From mboxrd@z Thu Jan 1 00:00:00 1970 From: Walther Maldonado Subject: Re: BUG Report: "config KVM" selects PREEMPT_NOTIFIERS, but it should also select PREEMPT (Vanilla Kernel 2.6.30) Date: Wed, 1 Jul 2009 15:29:31 +0200 Message-ID: <20090701152931.0051c4d4@Xellex> References: <20090629171855.2820e75a@Xellex> <4A4B2F52.3080506@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Cc: "kvm@vger.kernel.org" To: Avi Kivity Return-path: Received: from columbi.unine.ch ([130.125.1.54]:54263 "EHLO columbi.unine.ch" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751567AbZGAN3g (ORCPT ); Wed, 1 Jul 2009 09:29:36 -0400 In-Reply-To: <4A4B2F52.3080506@redhat.com> Sender: kvm-owner@vger.kernel.org List-ID: Good day, Alright, my bad. After closer studying I realized I had misread where the defines were delimiting each function. :/ Sorry for the invalid report (and yes, I had other issues setting up and running the modules, but I was pretty sure the missing symbols were caused because of the define, which turned out to be false). Cheers~ Walther. On Wed, 1 Jul 2009 11:41:38 +0200 Avi Kivity wrote: > On 06/29/2009 06:18 PM, Walther Maldonado wrote: > > Good day, > > > > Today when attempting to compile and install the KVM module (kernel 2.6.30), inserting the module would error with a number of unresolved symbols such as preempt_notifier_register() not found. > > > > Some code-browsing revealed that, even though the kvm KConfig setting "KVM" does select PREEMPT_NOTIFIERS, in include/linux/preempt.h, said define will not cause the expected functions to be defined unless CONFIG_PREEMPT is also selected. > > > > > > Not in my copy of v2.6.30. preempt.h only guards the preempt notifier > symbols with CONFIG_PREEMPT_NOTIFIER. > > I built sched.o with CONFIG_PREEMPT_NONE=y and see: > > [avi@cleopatra linux-2.6 (v2.6.30)]$ nm kernel/sched.o | grep > preempt_notifier > 00000000c559bf4c A __crc_preempt_notifier_register > 000000008be61cbb A __crc_preempt_notifier_unregister > 0000000000000028 r __kcrctab_preempt_notifier_register > 0000000000000020 r __kcrctab_preempt_notifier_unregister > 0000000000000232 r __kstrtab_preempt_notifier_register > 0000000000000216 r __kstrtab_preempt_notifier_unregister > 0000000000000050 r __ksymtab_preempt_notifier_register > 0000000000000040 r __ksymtab_preempt_notifier_unregister > 0000000000000c77 T preempt_notifier_register > 0000000000000caf T preempt_notifier_unregister > > Perhaps you have a stale kernel installed? Try reinstalling the kernel > and modules and rebooting. > > -- > error compiling committee.c: too many arguments to function >