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

Re: [Xen-devel] [PATCH v4 5/8] arm/vm_event: get/set registers



On 06/02/2016 12:38 PM, Jan Beulich wrote:
>>>> On 02.06.16 at 10:26, <rcojocaru@xxxxxxxxxxxxxxx> wrote:
>> On 06/02/2016 10:35 AM, Jan Beulich wrote:
>>> The criteria for inclusion or exclusion should
>>> follow a predictable model. I.e. if someone comes along and says
>>> "I need register Y", then there should be rules that (s)he can apply
>>> up front to determine what (at least in the vast majority of cases)
>>> the response is going to be. You saying "I need only this arbitrary
>>> subset of registers" is completely in-transparent, as it leaves open
>>> why this is so, and why this would also be so for others. I.e. you'd
>>> at least need to answer the question why (as an example) you
>>> need x5 included, but not x25, despite both registers being equal
>>> from an architecture pov. An answer like "My application gets away
>>> with it" is not acceptable here.
>>
>> There will be trade-offs. Again, my preference would be to have a
>> multi-page ring buffer with all the VCPU context included in the
>> request, always. This would work best as far as both completeness and
>> performance goes.
>>
>> But that is obviously not a trivial change and I can see how Tamas would
>> prefer to get things done sooner along the lines of the pre-existing
>> design (whatever its merits and demerits are).
>>
>> As long as we're using a smaller ring buffer, the answer (at least as
>> I've meant it) is not "_my_ application gets away with it" - which is
>> indeed not the most reasonable statement, but "_current_ introspection
>> applications - of which my application is one of - don't need more than
>> this at this time".
> 
> But then could one of you finally say _why_ that is? I.e. why some
> GPRs are "better" to your applications than others? If you need
> access to _any_ GPRs that don't have a special purpose (like PC,
> SP, LR, and maybe FP; I realize this is more applicable to ARM32
> than ARM64), I would suspect you need them to e.g. obtain
> instruction operands. Yet then I can't see why some of them are
> needed while others aren't. I could mayve see you wanting access
> to function argument and return value registers, but afaict the
> proposed set isn't matching that set either, plus that's a guest ABI
> thing anyway, i.e. would again be arbitrary due to you limiting
> things to work with just certain guests.

Fair point. Unfortunately I can't speak for Tamas' introspection needs
on ARM so he'll have to answer there - for my part, I do include all x86
GPRs in the request.


Thanks,
Razvan

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