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

Re: [Xen-devel] Pausing / unpausing a single domain VCPU via libxc



On 01/26/2017 05:14 PM, Dario Faggioli wrote:
> [Adding tools people, and Andrew's which, according to git history,
>  has touched the involved (Xen) code for last :-) ]
> 
> On Thu, 2017-01-26 at 14:08 +0200, Razvan Cojocaru wrote:
>> Hello,
>>
>> I see that there's currently no xc_vcpu_pause() (there's only
>> xc_domain_pause(), which freezes all the VCPUs), but there's
>> XEN_DOMCTL_gdbsx_pausevcpu, which is only used by
>> tools/debugger/gdbsx/xg/xg_main.c.
>>
>> Wouldn't it make sense to have a "regular" DOMCTL in libxc that the
>> debugger, as well as other clients, would make use of (said
>> xc_vcpu_pause() / xc_vcpu_unpause())?
>>
> You mean you'd want to implement xc_vcpu_pause() by means of
> the XEN_DOMCTL_gdbsx_pausevcpu?
> 
> What's the use case for that, and does it fit with the implementation
> of said hypercall (which, e.g., requires that the domain is already
> paused)?

Not necessarily implement xc_vcpu_pause() by means of
XEN_DOMCTL_gdbsx_pausevcpu, it's just that from a design perspective
this seems rather specialised - the domctl name suggests that this is
only useful for debugging, and it also hardcodes an implementation for
calling that hypercall in xg_main.c, whereas pausing a single VCPU is a
generic operation that other clients, as well as the debugger, might
find worthwhile to do.

As for a use case, an introspection application might be interested in
briefly pausing a VCPU while it inspects data related to it.

Does XEN_DOMCTL_gdbsx_pausevcpu require that the whole domain is paused
(for longer that the duration of the actual hypercall)?


Thanks,
Razvan

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