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

Re: [Xen-devel] [PATCH RFC V7 4/5] xen, libxc: Request page fault injection via libxc


  • To: Jan Beulich <JBeulich@xxxxxxxx>
  • From: Razvan Cojocaru <rcojocaru@xxxxxxxxxxxxxxx>
  • Date: Tue, 26 Aug 2014 17:56:12 +0300
  • Cc: kevin.tian@xxxxxxxxx, ian.campbell@xxxxxxxxxx, stefano.stabellini@xxxxxxxxxxxxx, andrew.cooper3@xxxxxxxxxx, eddie.dong@xxxxxxxxx, xen-devel@xxxxxxxxxxxxx, jun.nakajima@xxxxxxxxx, ian.jackson@xxxxxxxxxxxxx
  • Comment: DomainKeys? See http://domainkeys.sourceforge.net/
  • Delivery-date: Tue, 26 Aug 2014 14:56:21 +0000
  • Domainkey-signature: a=rsa-sha1; q=dns; c=nofws; s=default; d=bitdefender.com; b=L4TIlmdWqPXQTN+x2e+Zy1aO9MildFLeu7Ly9lJAky9OD7g5qHG/U7xw8ewXtAtewzY0nB5SdmNI1UDEEirNaSzZBxZTxBlKWkJek2MzUZ3U1MKQ6xDgxGPOVOxbnRF7GBFDN9rpfR/I5QokUdxXWOwfQD4Xa+nFW67r1Hv+43Sx9UGeefoYlY5PHN4MDrT1UgpmcqDwelNlYliFTGYXwoW2dpHejq1DgeHBc8JQu585fxZ3Q+S884LFQdJld3ticbshszZzGu/ZotFoZRod4/JpYc9IgrZCVAbm9ZSh+AugIZ+gYp3bu0nwBrGXq4l9euNrxH7c1lupe0bNjsw+BA==; h=Received:Received:Received:Received:Message-ID:Date:From:User-Agent:MIME-Version:To:CC:Subject:References:In-Reply-To:Content-Type:Content-Transfer-Encoding:X-BitDefender-Scanner:X-BitDefender-Spam:X-BitDefender-SpamStamp:X-BitDefender-CF-Stamp;
  • List-id: Xen developer discussion <xen-devel.lists.xen.org>

On 08/26/2014 05:44 PM, Jan Beulich wrote:
>>>> On 26.08.14 at 16:24, <rcojocaru@xxxxxxxxxxxxxxx> wrote:
>> On 08/26/2014 05:13 PM, Jan Beulich wrote:
>>>>>> On 13.08.14 at 17:28, <rcojocaru@xxxxxxxxxxxxxxx> wrote:
>>>> --- a/xen/include/asm-x86/hvm/domain.h
>>>> +++ b/xen/include/asm-x86/hvm/domain.h
>>>> @@ -141,6 +141,14 @@ struct hvm_domain {
>>>>       */
>>>>      uint64_t sync_tsc;
>>>>  
>>>> +    /* Memory introspection page fault injection data. */
>>>> +    struct {
>>>> +        uint64_t address_space;
>>>> +        uint64_t virtual_address;
>>>> +        uint32_t errcode;
>>>> +        bool_t valid;
>>>> +    } fault_info;
>>>
>>> Sorry for noticing this only now, but how can this be a per-domain
>>> thing rather than a per-vCPU one?
>>
>> The requirement for our introspection application has simply been to
>> bring back in a swapped-out page, regardless of what VCPU ends up
>> actually doing it.
> 
> But please remember that what you add to the public code base
> shouldn't be tied to specific needs of your application, it should
> be coded in a generally useful way.

Of course, perhaps I should have written "the scenario we're working
with" rather than "the requirement for our application". I'm just trying
to understand all the usual cases for this.

> Furthermore, how would this work if you have 2 vCPU-s hit such
> a condition, and you need to bring in 2 pages in parallel?

Since this is all happening in the context of processing mem_events,
it's not really possible for two VCPUs to need to do this in parallel,
since processing mem_events is being done sequentially. A VCPU needs to
put a mem_event in the ring buffer and pause before this hypercall can
be called from userspace.


Thanks,
Razvan Cojocaru

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