[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] Automatic loading of xen-evtchn module in Xen 4.0.0?



On Tue, Mar 30, 2010 at 10:44:57AM +0100, Ian Campbell wrote:
> On Sat, 2010-03-27 at 22:18 +0000, Jeremy Fitzhardinge wrote:
> > On 03/27/2010 10:32 AM, Pasi Kärkkäinen wrote:
> > > Hello,
> > >
> > > xend automatically mounts /proc/xen, but it doesn't try loading evtchn or 
> > > xen-evtchn modules.
> > > Should we add automatic loading of these modules?
> > >
> > > xend doesn't start if xen event channel functionality is missing.
> > >
> > > Fedora Xen rpms do load modules automatically, like this:
> > >
> > > # cat /etc/sysconfig/modules/xen.modules
> > > #!/bin/sh
> > >
> > > test -d /proc/xen                               || exit 0
> > > test -f /proc/xen/capabilities                  || mount -t xenfs xen 
> > > /proc/xen
> > > test -f /proc/xen/capabilities                  || exit 0
> > > grep -q "control_d" /proc/xen/capabilities      || exit 0
> > >
> > > for module in xen-evtchn evtchn blkbk netbk; do
> > >          modprobe ${module}>/dev/null 2>&1
> > > done
> > >    
> > 
> > We should be able to make these mount automatically with udev rules, I 
> > think, but I'm not sure whether you can do udev rules to mount misc 
> > devices (which is what /dev/xen/evtchn is).
> 
> I think you mean "modprobe misc devices" not mount.
> 
> I see various uses of the MODULE_ALIAS_MISCDEV macro in the kernel --
> but I'm not sure what actually causes a matching hotplug event to be
> generated, other than trying to open a matching device node which with
> udev won't exist until the module is loaded.

One idea that I submitted to dracut mailing list (the initramfs
creation/running tool under FC12 and above) was to leverage 'xen-detect'
and load the appropiate modules. This way during bootup, bamm, you get
all your modules in.

But they righly suggested that there should be an uevent to kick udev to
start loading them and use the MODULE_ALIAS. But to use MODULE_ALIAS,
you have to get an uevent, and to get an uevent, you have to load the
module, so it looks to be a chicken-and-egg problem.

> 
> Perhaps something in the xen core code (or xenbus?) could generate the
> necessary hotplug events for the Xen "platform devices" (like the evtchn
> one)?

But I think that comes back to the chicken-and-egg. If you have all of
the front-end drivers compiled as modules, how would they (front-end
drivers) generate the hotplug events when they are not loaded?

Perhaps have the xenbus try to load the modules if it detects that is
running under Xen? Something similar to how the kernel tries to mount
various filesystem modules when mounting a disk?


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.