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

Re: [Xen-devel] Problem Reading from XenStore in DomU



On 5/16/16 3:18 PM, Dagaen Golomb wrote:
> On Mon, May 16, 2016 at 3:56 PM, Dagaen Golomb <dgolomb@xxxxxxxxxxxxxx> wrote:
>> On Mon, May 16, 2016 at 3:52 PM, Dagaen Golomb <dgolomb@xxxxxxxxxxxxxx> 
>> wrote:
>>> On Mon, May 16, 2016 at 3:12 PM, Doug Goldstein <cardoe@xxxxxxxxxx> wrote:
>>>> On 5/16/16 11:20 AM, Dagaen Golomb wrote:
>>>>> On Mon, May 16, 2016 at 12:11 PM, Dagaen Golomb <dgolomb@xxxxxxxxxxxxxx> 
>>>>> wrote:
>>>>>> On Mon, May 16, 2016 at 12:03 PM, Dagaen Golomb <dgolomb@xxxxxxxxxxxxxx> 
>>>>>> wrote:
>>>>>>> On Mon, May 16, 2016 at 11:55 AM, Doug Goldstein <cardoe@xxxxxxxxxx> 
>>>>>>> wrote:
>>>>>>>> On 5/15/16 8:41 PM, Dagaen Golomb wrote:
>>>>>>>>>> On 5/15/16 8:28 PM, Dagaen Golomb wrote:
>>>>>>>>>>>> On 5/15/16 11:40 AM, Dagaen Golomb wrote:
>>>>>>>>>>>>> Hi All,
>>>>>>>>>>>>>
>>>>>>>>>>>>> I'm having an interesting issue. I am working on a project that
>>>>>>>>>>>>> requires me to share memory between dom0 and domUs. I have this
>>>>>>>>>>>>> successfully working using the grant table and the XenStore to
>>>>>>>>>>>>> communicate grefs.
>>>>>>>>>>>>>
>>>>>>>>>>>>> My issue is this. I have one domU running Ubuntu 12.04 with a 
>>>>>>>>>>>>> default
>>>>>>>>>>>>> 3.8.x kernel that has no issue reading or writing from the 
>>>>>>>>>>>>> XenStore.
>>>>>>>>>>>>> My work also requires some kernel modifications, and we have made
>>>>>>>>>>>>> these changes in the 4.1.0 kernel. In particular, we've only 
>>>>>>>>>>>>> added a
>>>>>>>>>>>>> simple hypercall. This modified kernel is what dom0 is running, 
>>>>>>>>>>>>> on top
>>>>>>>>>>>>> of Xen 4.7 rc1.
>>>>>>>>>>>>
>>>>>>>>>>>> Without reading the rest of the thread but seeing the kernel 
>>>>>>>>>>>> versions.
>>>>>>>>>>>> Can you check how you're communicating to xenstore? Is it via
>>>>>>>>>>>> /dev/xen/xenbus or /proc/xen/xenbus? Anything after 3.14 will give 
>>>>>>>>>>>> you
>>>>>>>>>>>> deadlocks if you try to use /proc/xen/xenbus. Xen 4.6 and newer 
>>>>>>>>>>>> should
>>>>>>>>>>>> prefer /dev/xen/xenbus. Same thing can happen with privcmd but 
>>>>>>>>>>>> making
>>>>>>>>>>>> that default didn't land until Xen 4.7. Since you're on the right
>>>>>>>>>>>> versions I expect you're using /dev/xen/xenbus but you never know.
>>>>>>>>>>>
>>>>>>>>>>> How do I know which is being used? /dev/xen/xenbus is there and so 
>>>>>>>>>>> is
>>>>>>>>>>> process/xen/xenbus. Could this be a problem with header version
>>>>>>>>>>> mismatches or something similar? I'm using the xen/xenstore.h header
>>>>>>>>>>> file for all of my xenstore interactions. I'm running Xen 4.7 so it
>>>>>>>>>>> should be in /dev/, and the old kernel is before 3.14 but the new 
>>>>>>>>>>> one
>>>>>>>>>>> is after, but I would presume the standard headers are updated to
>>>>>>>>>>> account for this. Is there an easy way to check for this? Also, 
>>>>>>>>>>> would
>>>>>>>>>>> the same issue cause writes to fails? Because writes from the same
>>>>>>>>>>> domain work fine, and appear to other domains using xenstore-ls.
>>>>>>>>>>>
>>>>>>>>>>> Regards,
>>>>>>>>>>> Dagaen Golomb
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Use strace on the process and see what gets opened.
>>>>>>>>>
>>>>>>>>> Ah, of course. It seems both the working and non-working domains are
>>>>>>>>> using /proc/...
>>>>>>>>>
>>>>>>>>> Regards,
>>>>>>>>> Dagaen Golomb
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> How are you starting them? Can you confirm its attempting /dev/ first?
>>>>>>>> Xen 4.7 should prefer /dev/.
>>>>>
>>>>> For all kernels in my domU, without setting any environment variables
>>>>> they use /proc/.
>>>>> For 4.1.0 this did not work, but works with /dev/ when using
>>>>> environment variable.
>>>>> Is this supposed to try /dev/ before /proc/? Because this doesn't
>>>>> appear the case according to strace.
>>>>> I think this is a bug.
>>>>>
>>>>> Regards,
>>>>> Dagaen Golomb
>>>>>
>>>>
>>>> Is your domU using Xen 4.7 compiled utilities? or are you using distro
>>>> provided xenstore libraries?
>>>
>>> I am using the newest binaries available from the distro repo (Ubuntu
>>> 12.04), so version 4.4.
>>> I'm going to guess you might say this is part of the issue. 4.4 and
>>> 4.7 aren't really *that* far off, though.
>>> Legacy interfaces should not be breaking, so I still think this is a
>>> bug that needs to be addressed somewhere, maybe by determining what
>>> exactly the issue is with new kernels and /proc/ tree XenStore access,
>>> if thisis what older tools will be using.
>>
>> Should I try to use newer utilities? What would be the easiest method
>> of acquiring and installing them?
>> Should building and installing the *-tools directives in the xen
>> source do the trick? I'd like to see if this fixes the issue.
> 
> I installed a package for xenstore-utils 4.6, and installed over the
> 4.4 in my guest. Issue persists.
> 
> Regards,
> Dagaen Golomb
> 

Changing Xen bits won't help until you use Xen 4.7. The underlying issue
is the Linux kernel interface is broken from 3.14 and on.

-- 
Doug Goldstein

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
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®.