Hi Emanuele,

On Wed, Mar 29, 2023 at 11:58:24AM +0200, Emanuele Rocca wrote:
> some arm64 hosts unfortunately do not have KVM support:
> 
>   kvm [1]: HYP mode not available
> 
> On those systems, running qemu with -cpu=cortex-a57 results in
> significantly improved performance compared to -cpu=max.
> 
> For example: here is how long it takes debvm-run to reach the point
> where the hostname is being set when using -cpu=max:
> 
> [   34.838074] systemd[1]: Hostname set to <testvm>.
> 
> Modifying /usr/bin/debvm-run to set CPU=cortex-a57 instead:
> 
> [   12.450115] systemd[1]: Hostname set to <testvm>.

Thanks for the report. Since I mainly use it on amd64, I am not affected
by this change and seek feedback from Arnd and Johannes as they will be
affected.

My initial reaction is that I am slightly opposed to changing this,
because architectures tend to bump baselines and at some point arm64
will likely have a baseline that is not met by cortex-a57. So the max
value poses less maintenance cost on my side.

Now this is two arguments (performance vs maintenance) and we need to
strike a good balance.

> Please consider using CPU=cortex-a57 instead of CPU=max for arm64,
> and/or adding a command line switch to override the value of CPU.

Are you aware that any options passed after a double dash are forwarded
to qemu? Are you also aware that when you pass -cpu twice, the last -cpu
wins? So overriding is as simple as appending "-- --cpu=cortex-a57" to
your debvm-run invocation.

Helmut

Reply via email to