[PATCH] aarch64: Add tunable glibc.memset.dc_zva_threshold

Feng Xue OS fxue@os.amperecomputing.com
Mon Jul 29 02:25:00 GMT 2019


Yes. For multiple parallel threading workload on emag, we can get an obvious
improvement if using a large threshold to trigger DC ZVA or even disable it, while
for single threading, situation is reversed. Since there is no smart way to identify
workload characteristic at runtime, we propose to introduce this tunable.

Feng

________________________________________
From: Szabolcs Nagy <Szabolcs.Nagy@arm.com>
Sent: Friday, July 26, 2019 11:17:39 PM
To: Feng Xue OS; libc-alpha@sourceware.org
Cc: nd
Subject: Re: [PATCH] aarch64: Add tunable glibc.memset.dc_zva_threshold

On 26/07/2019 12:58, Feng Xue OS wrote:
> This patch is composed to add a tunable 'glibc.memset.dc_zva_threshold'
> to control using DC ZVA in memset or not. Only when memset size exceeds
> this threshold, DC ZVA will be used.
>
> The background is that DC ZVA does not always outperform normal
> memory-store zeroing, especially when there are multiple processes/threads
> contending for memory/cache.

adding a threshold to memset_emag is fine, but
i'm not yet convinced that a tunable threshold
is useful enough.

is it expected that different workloads require
different setting? is this effect significant?



More information about the Libc-alpha mailing list