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

Re: [Xen-devel] [PATCH 2/2] domain: use PGC_extra domheap page for shared_info



On 09.03.2020 09:48, Paul Durrant wrote:
>> -----Original Message-----
>> From: Jan Beulich <jbeulich@xxxxxxxx>
>> Sent: 06 March 2020 17:17
>> To: Paul Durrant <xadimgnik@xxxxxxxxx>
>> Cc: sstabellini@xxxxxxxxxx; julien@xxxxxxx; Volodymyr_Babchuk@xxxxxxxx; 
>> wl@xxxxxxx;
>> konrad.wilk@xxxxxxxxxx; andrew.cooper3@xxxxxxxxxx; ian.jackson@xxxxxxxxxxxxx;
>> george.dunlap@xxxxxxxxxx; xen-devel@xxxxxxxxxxxxxxxxxxxx; 'David Woodhouse' 
>> <dwmw2@xxxxxxxxxxxxx>
>> Subject: Re: [PATCH 2/2] domain: use PGC_extra domheap page for shared_info
>>
>> On 06.03.2020 17:27, Paul Durrant wrote:
>>>> -----Original Message-----
>>>> From: Jan Beulich <jbeulich@xxxxxxxx>
>>>> Sent: 06 March 2020 13:46
>>>> To: Paul Durrant <xadimgnik@xxxxxxxxx>
>>>> Cc: sstabellini@xxxxxxxxxx; julien@xxxxxxx; Volodymyr_Babchuk@xxxxxxxx; 
>>>> wl@xxxxxxx;
>>>> konrad.wilk@xxxxxxxxxx; andrew.cooper3@xxxxxxxxxx; 
>>>> ian.jackson@xxxxxxxxxxxxx;
>>>> george.dunlap@xxxxxxxxxx; xen-devel@xxxxxxxxxxxxxxxxxxxx; 'David 
>>>> Woodhouse' <dwmw2@xxxxxxxxxxxxx>
>>>> Subject: Re: [PATCH 2/2] domain: use PGC_extra domheap page for shared_info
>>>>
>>>> On 06.03.2020 14:41, Paul Durrant wrote:
>>>>>> -----Original Message-----
>>>>>> From: Jan Beulich <jbeulich@xxxxxxxx>
>>>>>> Sent: 06 March 2020 13:36
>>>>>> To: Paul Durrant <xadimgnik@xxxxxxxxx>
>>>>>> Cc: sstabellini@xxxxxxxxxx; julien@xxxxxxx; Volodymyr_Babchuk@xxxxxxxx; 
>>>>>> wl@xxxxxxx;
>>>>>> konrad.wilk@xxxxxxxxxx; andrew.cooper3@xxxxxxxxxx; 
>>>>>> ian.jackson@xxxxxxxxxxxxx;
>>>>>> george.dunlap@xxxxxxxxxx; xen-devel@xxxxxxxxxxxxxxxxxxxx; 'David 
>>>>>> Woodhouse' <dwmw2@xxxxxxxxxxxxx>
>>>>>> Subject: Re: [PATCH 2/2] domain: use PGC_extra domheap page for 
>>>>>> shared_info
>>>>>>
>>>>>> On 06.03.2020 14:26, Paul Durrant wrote:
>>>>>>>> From: Xen-devel <xen-devel-bounces@xxxxxxxxxxxxxxxxxxxx> On Behalf Of 
>>>>>>>> Jan Beulich
>>>>>>>> Sent: 06 March 2020 13:24
>>>>>>>>
>>>>>>>> On 06.03.2020 14:13, Paul Durrant wrote:
>>>>>>>>> My aim is to make the separation abundantly obvious by getting rid
>>>>>>>>> of shared xenheap pages (for non-system domains at least) but I
>>>>>>>>> can't do that before converting shared_info and grant shared/status
>>>>>>>>> frames to domheap.
>>>>>>>>
>>>>>>>> Following David's various replies - instead of going this route of
>>>>>>>> replacing the sharing of xenheap pages by different logic, the
>>>>>>>> same ought to be achievable by making the backing allocations come
>>>>>>>> from the correct pool?
>>>>>>>>
>>>>>>>
>>>>>>> I still prefer the simplification of not having to clean up the
>>>>>>> shared xenheap page list in domain_kill() so IMO it is still worth
>>>>>>> it for that alone.
>>>>>>
>>>>>> I don't see anything very special with the cleaning up in
>>>>>> domain_kill() / domain_relinquish_resources(). What I'd view as
>>>>>> more desirable in this regard is the general fact of needing
>>>>>> two lists. But you realize there's a downside to this as well?
>>>>>> dump_pageframe_info() will reliably show _all_ Xen heap pages
>>>>>> associated with a domain, but it will only ever show up to 10
>>>>>> pages on ->page_list for a domain that's not already being
>>>>>> cleaned up.
>>>>>
>>>>> That's not much of a downside though I don't think. The xenheap
>>>>> (or PGC_extra domheap pages) are 'special' and so info about
>>>>> them ought to be available via an alternate dump function anyway
>>>>> (and if not already, it can be added).
>>>>
>>>> Whatever you'd add, the logic would need to either traverse the
>>>> entire ->page_list (can take very long) or have/use out of band
>>>> information where such pages may have a record (fragile).
>>>>
>>>
>>> But the shared xenheap pages in question are only shared info, or
>>> grant table, so their information can be dumped separately.
>>> I guess it makes more sense to add another patch into the series
>>> to do explicit dump of shared_info and then exclude 'special'
>>> pages from dump_pageframe_info().
>>
>> Bu that's why I said "fragile" - new uses of such pages wouldn't
>> automatically be picked up, whereas them all landing on xenpage_list
>> made their dumping a reliable thing.
>>
> 
> But how useful is dumping xenheap pages this way? There's nothing
> that actually says what they are for so I can't see why it is
> particularly useful.

That's no different from the domheap page list dumping. The main
point of it - aiui - is to have a hook on finding where possible
leaks sit. For xenheap pages, actually, one can (currently) infer
what they are used for from their position on the list, I think.

> Having something that says 'This is the shared_info page' and
> 'These are the grant shared frames' seems much more desirable...
> and any new ones added would almost certainly merit similar dump
> functions.

Possibly, yet that's different (partly extended, partly
orthogonal) functionality. Doing such may indeed be useful.

Jan

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