[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 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.

Jan


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