Hi~ On 07/18/2012 09:44 AM, Eric Blake wrote: > On 07/17/2012 07:33 PM, tangchen wrote: >> Hi~ >> >> It seems that libvirt is not cpu hotplug aware. > > Portions of libvirt are aware of host hotplug issues, but you are > correct that there are still lingering bugs (I just found one today in > nodeinfo.c). Could you give me some more info about hotplug support in libvirt ? I tried to find out, but I didn't see any. > I think this is related to (if not the same as) this known kernel bug: > https://bugzilla.redhat.com/show_bug.cgi?id=714271 > > Basically, when the kernel suspends and then resumes, it is not properly > restoring descendant cgroup information. Hot unplug of a host cpu is > more or less a subset of suspending. > Yes, hot unplug cpu function in kernel is not usable now. But cgroup doesn't know what value a file used to be. As a result, it cannot recover any value in subdirectories. >> >> >> I am trying to use netlink socket with NETLINK_KOBJECT_UEVENT protocol to >> listen to cpu hotplug events. But I met a little problem here. > > Interesting approach. Is it also possible to use inotify? I have tried inotify. But since /sys is a special file system, it seems that inotify failed to keep an eye on file systems like /proc, /cgroup or /sys. But netlink works fine. > >> >> virNetlinkEventServiceStart() only create a global variable server, and >> create a NETLINK_ROUTE netlink socket for it. >> >> So if I want to create another different netlink socket, such as NETLINK_KOBJECT_UEVENT, >> what should I do ? > > I'm not sure here, having not really coded much with netlink sockets > myself. If you have a patch pending, then post it and we can discuss > whether it can be improved. OK.:) I'll try, but I am still wondering if anybody else could give me some advice. Thank. :) > >> >> Shall we make the server global variable a global array ? >> (It seems there are a lot of work to do.) >> >> Thanks. :) >> > -- Best Regards, Tang chen -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list