On Tue, Jun 14, 2011 at 1:32 AM, Avi Kivity <avi@xxxxxxxxxx> wrote: > On 06/13/2011 08:11 PM, AP wrote: >> >> On Sun, Jun 12, 2011 at 8:35 AM, Avi Kivity<avi@xxxxxxxxxx> wrote: >> > On 06/11/2011 03:02 AM, AP wrote: >> >> >> >> I am building kvm as an external module against 2.6.38-8 (Ubuntu 11.04 >> >> kernel). >> > >> > Why? >> >> I did not want move to the new kernel from kvm.git. > > I generally find that it works well, though I only run it on servers. > >> I just wanted to >> upgrade to the latest kvm module for some development. Is there a way >> to use the kvm.git tree and only build and load kvm? > > kvm-kmod. That is what I am using and running in to the permanent module issue. >> >> The kvm.ko and kvm-intel.ko build and insmod without any >> >> issues. However I am able to unload the kvm-intel module. Here is the >> >> lsmod listing: >> >> >> >> kvm_intel 135653 0 [permanent] >> >> kvm 381130 1 kvm_intel,[permanent] >> >> >> >> This is the error I get when I try to unload the module: >> >> >> >> ERROR: Removing 'kvm_intel': Device or resource busy >> >> >> >> Do I need to do anything special during building for >> >> CONFIG_MODULE_UNLOAD to take effect? >> >> >> > >> > No, as far as I know it should just work, and always has for me. But >> > it >> > does say [permanent]. Any clue why in dmesg? >> >> The only thing I see in dmesg is: >> loaded kvm module (v2.6.39-8627-g2c2b5df) > > if (mod->init != NULL && mod->exit == NULL) { > printed_something = 1; > seq_printf(m, "[permanent],"); > } > > I don't recall anything in kvm-kmod playing with these, so it's a mystery > why this happens. > > kvm.ko doesn't have an init or exit function. kvm-intel.ko has both. > Wierd. When I look at kvm.mod.c and kvm-intel.mod.c which I think are built on the fly during compile time, I see the following: struct module __this_module __attribute__((section(".gnu.linkonce.this_module"))) = { .name = KBUILD_MODNAME, .init = init_module, #ifdef CONFIG_MODULE_UNLOAD .exit = cleanup_module, #endif .arch = MODULE_ARCH_INIT, }; My fear is that for some reason CONFIG_MODULE_UNLOAD is not getting set and hence .exit fields are not being compiled. Though I am not completely sure of this. AP -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html