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

Re: [Xen-devel] [PATCH v4 0/9] add xenalyze to staging



On 06/10/2015 12:21 AM, Julien Grall wrote:
> Hi George,
> 
> On 09/06/2015 07:38, George Dunlap wrote:
>> On 06/09/2015 12:31 PM, Julien Grall wrote:
>>> Hi Olaf,
>>>
>>> On 09/06/2015 06:18, Olaf Hering wrote:
>>>> On Wed, Jun 03, Julien Grall wrote:
>>>>
>>>>> xentrace is not working as we don't have the infrastructure for ARM
>>>>> in Xen.
>>>>
>>>> Why is that? After a very quick look __trace_var is available
>>>> unconditionally.
>>>
>>> Multiple reasons, the shared page for trace is not correctly exposed,
>>> __trace_var/__trace_hypercall is not even used on ARM. I may miss some
>>> other bugs that I didn't spot while looking to the code.
>>
>> Code in xen/common will generate traces (e.g., the scheduling code), so
>> useful traces are already in place for ARM, even if no arm-specific code
>> has trace points yet.
>>
>>> So I don't think we should build a non-working binary until someone
>>> fixes the various problem of the trace system on ARM.
>>
>> If the shared page really doesn't work, then yes, we should probably not
>> build it on ARM for the release.
>>
>> Would it be very difficult to get working?
> 
> I don't think this is very difficult. But it's not trivial and will
> require some work in order to properly bring up xentrace on ARM.
> 
> There was a thread about it last year [1] with Globallogic. I gave some
> insight [2] on what to fix in order to get xentrace for ARM.
> 
> Note that on x86 for foreign mapping, the check for xen domid is open
> opencode the check for xen domid (see p2m_add_foreign).
> 
> Also, one things I forgot to mention last year is foreign mapping is
> always RW in the stage 2 P2M. Although, AFAIU, trace buffer should be
> mapped RO in order to avoid the guest writing in it (see
> share_xen_page_with_guest).

On the contrary, the trace buffer uses the traditional Xen
producer/consumer interface for transferring data.  The user-space
consumer needs to modify the consumer pointer to let Xen know that there
is space to produce more trace records.  The tracing code in the
hypervisor is programmed defensively to make sure that a buggy consumer
can't crash the hypervisor.

 -George

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