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

Re: [Xen-devel] [PATCH] xencommons: Attempt to load blktap driver



>>> On 16.05.12 at 11:16, Ian Campbell <Ian.Campbell@xxxxxxxxxx> wrote:
> On Wed, 2012-05-16 at 09:58 +0100, Jan Beulich wrote:
>> >>> On 16.05.12 at 10:21, Ian Campbell <Ian.Campbell@xxxxxxxxxx> wrote:
>> > On Tue, 2012-05-15 at 17:21 +0100, George Dunlap wrote:
>> >> On 15/05/12 17:16, Jan Beulich wrote:
>> >> >>>> On 15.05.12 at 17:49, George Dunlap<george.dunlap@xxxxxxxxxxxxx>  
>> >> >>>> wrote:
>> >> >> Older kernels, such as those found in Debian Squeeze:
>> >> >> * Have bugs in handling of AIO into foreign pages
>> >> >> * Have blktap modules, which will cause qemu not to use AIO, but
>> >> >> which are not loaded on boot.
>> >> >>
>> >> >> Attempt to load blktap in xencommons, to make sure modern qemu's which
>> >> >> use AIO will work properly on those kernels.
>> >> >>
>> >> >> Signed-off-by: George Dunlap<george.dunlap@xxxxxxxxxxxxx>
>> >> >>
>> >> >> diff -r 99244350516a -r db614e92faf7 
>> >> >> tools/hotplug/Linux/init.d/xencommons
>> >> >> --- a/tools/hotplug/Linux/init.d/xencommons    Tue May 15 16:48:49 
>> >> >> 2012 +0100
>> >> >> +++ b/tools/hotplug/Linux/init.d/xencommons    Tue May 15 16:49:32 
>> >> >> 2012 +0100
>> >> >> @@ -59,6 +59,7 @@ do_start () {
>> >> >>        modprobe evtchn 2>/dev/null
>> >> >>        modprobe gntdev 2>/dev/null
>> >> >>        modprobe xen-acpi-processor 2>/dev/null
>> >> >> +      modprobe blktap 2>/dev/null
>> >> > Can we stop manually loading all kinds of drivers here? I was
>> >> > glad this went away with the switch to xencommons, and
>> >> > now this is coming back. Drivers definitely needed in all cases
>> >> > are acceptable imo, but backend drivers should be loaded as
>> >> > backends get created by the tools (similarly frontend drivers
>> >> > for the local attach case, though they should get auto-loaded
>> >> > normally anyway).
>> >> I tend to agree with you; I did it this way because that's what was 
>> >> suggested to me.  But I don't at the moment know enough about the 
>> >> backend creation stuff in xl / qemu to DTRT here.
>> > 
>> > The issue preventing autoloading here is that blktap is effectively
>> > optional and libxl tries to do a best effort search for a usable disk
>> > backend. If blktap is loaded the libxl will choose it, otherwise it will
>> > fallback to qdisk. The problem is that if blktap is available but not
>> > loaded then that is something which libxl cannot detect, I'm not sure
>> > how we could go about fixing that.
>> 
>> Why not simply run a (series of) modprobe(s) from there? Or is
>> that precluded by not being OS-neutral?
> 
> An interesting idea.
> 
> The blktap detection code is necessarily OS-specific. I previously
> discounted it because of the possibility of a race between the
> completion of modprobe and the driver actually registering enough for
> detection to succeed. Maybe I was too pessimistic or someone has a
> bright idea?

modprobe only exits when the driver's init function completed,
at which point the driver can be expected to be in a usable state.

>> The same would obviously apply to other backends (netback most
>> notably).
> 
> We use netback unconditionally (there are no alternatives, at least not
> ones we want to use (does qnet exist? not sure)) so I think the normal
> driver autoloading ought to work there -- at least on kernels where it
> exists, it was a relatively recent addition IIRC.

It was a recent addition, and I wonder whether calling this
auto-loading really is the right term (unless I'm mis-understanding,
you're referring to the xen-backend: module aliases) - what would
trigger their loading? My current understanding of this it that it only
allows loading the drivers without referring to a hard-coded driver
module names.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

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