Skip to content
  • Emilio G. Cota's avatar
    qsp: use atomic64 accessors · ac8c7748
    Emilio G. Cota authored
    
    
    With the seqlock, we either have to use atomics to remain
    within defined behaviour (and note that 64-bit atomics aren't
    always guaranteed to compile, irrespective of __nocheck), or
    drop the atomics and be in undefined behaviour territory.
    
    Fix it by dropping the seqlock and using atomic64 accessors.
    This will limit scalability when !CONFIG_ATOMIC64, but those
    machines (1) don't have many users and (2) are unlikely to
    have many cores.
    
    - With CONFIG_ATOMIC64:
    $ tests/atomic_add-bench -n 1 -m -p
     Throughput:         13.00 Mops/s
    
    - Forcing !CONFIG_ATOMIC64:
    $ tests/atomic_add-bench -n 1 -m -p
     Throughput:         10.89 Mops/s
    
    Signed-off-by: default avatarEmilio G. Cota <cota@braap.org>
    Message-Id: <20180910232752.31565-5-cota@braap.org>
    Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
    ac8c7748