qemu-devel
[Top][All Lists]
Advanced

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

Re: [PATCH v2 8/8] linux-user: Simplify host <-> target errno conversion


From: Richard Henderson
Subject: Re: [PATCH v2 8/8] linux-user: Simplify host <-> target errno conversion using macros
Date: Thu, 8 Jul 2021 08:48:11 -0700
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0

On 7/8/21 8:30 AM, Laurent Vivier wrote:
Le 08/07/2021 à 16:11, Philippe Mathieu-Daudé a écrit :
Convert the host_to_target_errno_table[] array to a switch case
to allow compiler optimizations. Extract the errnos list as to
a new includible unit, using a generic macro. Remove the code
related to target_to_host_errno_table[] initialization.


Is there some performance penalties by using a switch() rather than an array[] ?

In many cases, definitely not. The compiler does notice the identity function when host and guest errnos match.

In the other case, I would doubt (without evidence) there's much penalty. The switch becomes a table lookup + indirect branch + immediate load + return. Or a really good compiler transforms to a different array lookup.


r~



reply via email to

[Prev in Thread] Current Thread [Next in Thread]