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

Re: [Xen-devel] Converting heap page_infos to contiguous virtual



On 07/15/2016 11:19 AM, Andrew Cooper wrote:
> On 15/07/16 15:53, Boris Ostrovsky wrote:
>> On 07/14/2016 09:29 AM, Andrew Cooper wrote:
>>> However, I would recommend getting something functioning first, before
>>> trying to optimise it.
>> There are two fairly independent parts to improving scrubbing: one is
>> making it asynchronous and second is improving clear_page() performance.
>> Whole-RAM mapping is needed for the latter.
>>
>>> There is probably a lot to be gained simply by improving clear_page().
>> The biggest improvement comes from switching to AVX(2) when available.
>> It's been a while since I ran those tests so I will have to re-measure
>> it but my recollection is that 4K was too small to see significant changes.
> There is also the new `clzero` on AMD Zen processors, which looks like
> an interesting option which doesn't involve context switching SIMD state.

Yes, this looks like a good option. I  am not aware of Zen HW being
available to me on the near future though ;-)

>
>> A potential improvement might come from dropping (or, rather, deferring)
>> sfence in clear_page_sse2. I don't know how much this would buy us though.
> The sfence is mandatory because of the movnti.  It cannot be dropped, or
> the zeroes might be stuck in the Write Combining buffer when something
> else comes to access the page.

Right, but while the chunk of pages is being scrubbed, those pages are
not available for anyone to access. Before they are (as a set) declared
available an sfence will be issued. That's what I meant by "deferring".

-boris



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