• Marc Zyngier's avatar
    arm64: KVM: Switch the sys_reg search to be a binary search · 623eefa8
    Marc Zyngier authored
    Our 64bit sys_reg table is about 90 entries long (so far, and the
    PMU support is likely to increase this). This means that on average,
    it takes 45 comparaisons to find the right entry (and actually the
    full 90 if we have to search the invariant table).
    
    Not the most efficient thing. Specially when you think that this
    table is already sorted. Switching to a binary search effectively
    reduces the search to about 7 comparaisons. Slightly better!
    
    As an added bonus, the comparison is done by comparing all the
    fields at once, instead of one at a time.
    Reviewed-by: default avatarChristoffer Dall <christoffer.dall@linaro.org>
    Signed-off-by: default avatarMarc Zyngier <marc.zyngier@arm.com>
    623eefa8
sys_regs.c 61.6 KB