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

Re: [Xen-devel] [PATCH 06/12 v3] xen/arm: vpl011: Add a new vuart node in the xenstore



Hi Wei,

Thanks for your explanation.


>> >> >> @@ -151,13 +154,19 @@ retry_transaction:
>> >> >>      if (rc) goto out;
>> >> >>
>> >> >>      if (!libxl_only) {
>> >> >> -        rc = libxl__xs_write_checked(gc, t, 
>> >> >> GCSPRINTF("%s/frontend",libxl_path),
>> >> >> -                                     frontend_path);
>> >> >> -        if (rc) goto out;
>> >> >> +        if (fents || ro_fents)
>> >> >> +        {
>> >> >> +            rc = libxl__xs_write_checked(gc, t, 
>> >> >> GCSPRINTF("%s/frontend",libxl_path),
>> >> >> +                                         frontend_path);
>> >> >> +            if (rc) goto out;
>> >> >> +        }
>> >> >>
>> >> >> -        rc = libxl__xs_write_checked(gc, t, 
>> >> >> GCSPRINTF("%s/backend",libxl_path),
>> >> >> -                                     backend_path);
>> >> >> -        if (rc) goto out;
>> >> >> +        if (bents)
>> >> >> +        {
>> >> >> +            rc = libxl__xs_write_checked(gc, t, 
>> >> >> GCSPRINTF("%s/backend",libxl_path),
>> >> >> +                                         backend_path);
>> >> >> +            if (rc) goto out;
>> >> >> +        }
>> >> >
>> >> > What is this for?
>> >> >
>> >> > If there is no fe or be entries you skip the path creation altogether.
>> >> > But why? This doesn't seem to be related to your patch.
>> >> For vuart, I am adding only a front end node but the
>> >> libxl__device_generic_add() creates the backend path also,even though
>> >> there is no backend node. To remove that hanging be path, I added this
>> >> check.
>> >> >
>> >> > At least explain this a bit in the commit message?
>> >> I will add more details in the commit message.
>> >>
>> >
>> > Preferable it should be in a separate patch. That would make review
>> > easier.
>> >
>> > But there is another question: how do you know if Dom0 is servicing a
>> > DomU? How do you construct a libxl__device struct should you want to
>> > manipulate vuart?
>> >
>> Can you please elaborate more on this question? I am adding the vuart
>> console node at the same place where the PV console node is added. I
>> believe, the check that I have added should be a generic check valid
>> for any device creation.
>>
>
> Sorry if that question confuses you. Let me try to rephrase.
>
> Nowadays you can use xl block-list / network-list etc do list respective
> devices for a DomU. The underlying libxl functions normally rely on
> xenstore for device information.
>
> Now AIUI (but I could be wrong!) you don't have an backend entry for
> vuart in xenstore. In a hypothetical situation, we want to add a xl
> console-list to list all consoles for a DomU, where should libxl get
> relevant information from?
>
I did not create a backend entry because I thought domU won't need it.
But as you have mentioned, there are other consumers of the backend
information (like xl) so I will add the backend information for vuart
in xenstore.

In that case, the checks that I have added in
libxl__device_generic_add()  are not required because there is no use
case where a device is created with backend or frontend as null.

Regards,
Bhupinder

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

 


Rackspace

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