Re: linux 3.3-pre-rc1: Starting domU fails with Error: Failed toquery current memory allocation of dom0.

From: Konrad Rzeszutek Wilk
Date: Thu Jan 12 2012 - 12:12:20 EST


On Thu, Jan 12, 2012 at 06:05:46PM +0100, Sander Eikelenboom wrote:
> Hello Konrad,
>
> Thursday, January 12, 2012, 5:40:25 PM, you wrote:
>
> > On Thu, Jan 12, 2012 at 11:12:04AM -0500, Konrad Rzeszutek Wilk wrote:
> >> On Thu, Jan 12, 2012 at 05:05:34PM +0100, Kay Sievers wrote:
> >> > On Thu, Jan 12, 2012 at 16:46, Konrad Rzeszutek Wilk
> >> > <konrad.wilk@xxxxxxxxxx> wrote:
> >> > > On Thu, Jan 12, 2012 at 01:38:32PM +0100, Sander Eikelenboom wrote:
> >> >
> >> > >> Today i tried linuses tree of today (last commit is 4c4d285ad5665bfbd983b95fde8d7a477d24a361).
> >> > >>
> >> > >> It boots dom0 fine, but it fails to start any domU with: "Error: Failed to query current memory allocation of dom0."
> >> > >> With my previous 3.1.5 kernel everything is fine, nothing else changed in config in between.
> >> > > Your patch that converts the xen-balloon to use the regular device bus driver
> >> > > (070680218379e15c1901f4bf21b98e3cbf12b527) has some not-so-happy consequences.
> >> > >
> >> > > The toolstack (xen-tools) use:
> >> > >
> >> > > /sys/devices/system/xen_memory/xen_memory0
> >> > >
> >> > > But with the change, it is now:
> >> > >
> >> > > /sys/devices/xen_memory0/target_kb
> >> >
> >> > Urks, seems like a mistake on my side.
> >> >
> >> > Please try if changing:
> >> > bus_unregister(&balloon_subsys);
> >> > to:
> >> > subsys_system_register(&balloon_subsys, NULL);
> >> > in:
> >> > drivers/xen/xen-balloon.c
> >> > fixes the issue.
> >>
> >> Heh. I was *just* looking at d369a5d8fc70710236ae2d06a0e42dce483712df
> >> ("clocksource: convert sysdev_class to a regular subsystem") and typed up this patch
> >> to try it out:
>
> > Kay, are you Acking this patch? (I can send it to Linus for rc0 or rc1)
>
> > commit 4e6f161986678a25c9e76af98df928408c734a27
> > Author: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
> > Date: Thu Jan 12 11:35:50 2012 -0500
>
> > xen/balloon: Move the registration from device to subsystem.
> >
> > With git commit 070680218379e15c1901f4bf21b98e3cbf12b527
> > "xen-balloon: convert sysdev_class to a regular subsystem" we would
> > end up with the attributes being put in:
> >
> > /sys/devices/xen_memory0/target_kb
> > instead of
> > /sys/devices/system/xen_memory/xen_memory0/target_kb
> >
> > Making the tools unable to deflate the kernel to make more space
> > for launching another guest and printing:
>
> > Error: Failed to query current memory allocation of dom0
> >
> > Reported-by: Sander Eikelenboom <linux@xxxxxxxxxxxxxx>
> > Suggested-by: Kay Sievers <kay.sievers@xxxxxxxx>
> > Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
>
> > diff --git a/drivers/xen/xen-balloon.c b/drivers/xen/xen-balloon.c
> > index 3832e30..596e6a7 100644
> > --- a/drivers/xen/xen-balloon.c
> > +++ b/drivers/xen/xen-balloon.c
> > @@ -221,7 +221,7 @@ static int register_balloon(struct device *dev)
> > {
> > int i, error;
> >
> > - error = bus_register(&balloon_subsys);
> > + error = subsys_system_register(&balloon_subsys, NULL);
> > if (error)
> > return error;
> >
>
>
> Shouldn't the
>
> if (error) {
> bus_unregister(&balloon_subsys);
> return error;
> }
>
> right below it also be changed ?

I thought so too, but looking at how the subsys_system_register it looks
to be OK. Kay, thoughts?
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/