[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] xenstore watch not working under 32 bit domU (xen stable 2.6.32 from jeremy git tree)
On Mon, 2010-11-22 at 14:53 +0300, Vasiliy G Tolstov wrote: > Hello. Can You helps me, i'm try to investigate why under 64 bit domU > this kernel module work's correct, but under 686 watch does not work: Anybody check this? More simple example, from balloon.c driver #include <linux/kernel.h> #include <linux/module.h> #include <linux/sched.h> #include <linux/errno.h> #include <linux/mm.h> #include <linux/bootmem.h> #include <linux/pagemap.h> #include <linux/highmem.h> #include <linux/mutex.h> #include <linux/list.h> #include <linux/sysdev.h> #include <linux/swap.h> #include <asm/page.h> #include <asm/pgalloc.h> #include <asm/pgtable.h> #include <asm/uaccess.h> #include <asm/tlb.h> #include <asm/e820.h> #include <asm/xen/hypervisor.h> #include <asm/xen/hypercall.h> #include <xen/xen.h> #include <xen/interface/xen.h> #include <xen/interface/memory.h> #include <xen/xenbus.h> #include <xen/features.h> #include <xen/page.h> static struct xenbus_watch target_watch = { .node = "data" }; /* React to a change in the target key */ static void watch_target(struct xenbus_watch *watch, const char **vec, unsigned int len) { char *cmd; int err; printk(KERN_ERR "watch_target\n"); } static int balloon_init_watcher(struct notifier_block *notifier, unsigned long event, void *data) { int err; printk(KERN_ERR "init_watcher\n"); err = register_xenbus_watch(&target_watch); if (err) printk(KERN_ERR "Failed to set balloon watcher\n"); return NOTIFY_DONE; } static struct notifier_block xenstore_notifier; static int __init balloon_init(void) { printk(KERN_ERR "init\n"); target_watch.callback = watch_target; xenstore_notifier.notifier_call = balloon_init_watcher; register_xenstore_notifier(&xenstore_notifier); return 0; } subsys_initcall(balloon_init); static void balloon_exit(void) { printk(KERN_ERR "exit\n"); return; } module_exit(balloon_exit); MODULE_LICENSE("GPL"); Watch not WORK! Compile with make file obj-m += xenmgm.o KDIR := /lib/modules/$(shell uname -r) PWD := $(shell pwd) all: $(MAKE) -C $(KDIR)/build SUBDIRS=$(PWD) M=$(PWD) modules clean: $(MAKE) -C $(KDIR)/build SUBDIRS=$(PWD) M=$(PWD) clean rm -f modules.order Module.* install: mkdir -p $(KDIR)/kernel/drivers/xen/xenmgm/ install -m 0644 -o root xenmgm.ko $(KDIR)/kernel/drivers/xen/xenmgm/ depmod -q I think, that is becouse i compiled module and not in kernel. Can somebody check this? (use stable-2.6.32.x commit diff b92d1ec0a86acd2dfe14d732c6a9304aae0ccf26) kernel config in attached file Attachment:
2.6.32.config _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |