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

Re: [Xen-devel] [PATCH RFC] x86/altp2m: fix display frozen when switching to a new view early



On 9/19/18 3:15 PM, George Dunlap wrote:
>> * has p2m_init_altp2m_ept() copy over max_mapped_pfn,
>>   logdirty_ranges, global_logdirty, ept.ad and default_access
>>   from the hostp2m (the latter more for completeness than for any
>>   other reason).
> I think this is probably the right approach.  These values change
> rarely, but after a misconfig are read repeatedly.  So it's probably a
> lot more efficient to propagate changes when they happen, rather than
> trying to keep a single master copy.  However...
> 
>> We should discuss if just copying over
>>   logdirty_ranges (which is a pointer) is sufficient, or if
>>   this code requires more synchronization).
> It's clearly not sufficient. :-)  The logdirty_ranges struct is
> protected by the lock of the p2m structure that contains it; if you
> point to it from a different p2m structure, then you'll have
> inconsistent logging, and you'll have problems if one vcpu is reading
> the structure while another is modifying it.
> 
> Another issue is that it doesn't look like you're propagating updates to
> this shared state either -- if someone enables or disables
> global_logdirty, or changes default_access, the altp2ms will still have
> the old value.
> 
> I wonder if we should collect the various bits that need to be kept in
> sync between hostp2m/altp2ms, put them all in a 'sync' sub-struct within
> the p2m, and enforce using a function / macro to modify the values inside.

I'm not sure how to put ept.ad in the new sync sub-struct - putting the
full ept in there feels like overkill, and just putting a new variable
to symbolize .ad feels convoluted.


Thanks,
Razvan

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.