• Marko Mäkelä's avatar
    MDEV-26769 InnoDB does not support hardware lock elision · 1f022809
    Marko Mäkelä authored
    This implements memory transaction support for:
    
    * Intel Restricted Transactional Memory (RTM), also known as TSX-NI
    (Transactional Synchronization Extensions New Instructions)
    * POWER v2.09 Hardware Trace Monitor (HTM) on GNU/Linux
    
    transactional_lock_guard, transactional_shared_lock_guard:
    RAII lock guards that try to elide the lock acquisition
    when transactional memory is available.
    
    buf_pool.page_hash: Try to elide latches whenever feasible.
    Related to the InnoDB change buffer and ROW_FORMAT=COMPRESSED
    tables, this is not always possible.
    In buf_page_get_low(), memory transactions only work reasonably
    well for validating a guessed block address.
    
    TMLockGuard, TMLockTrxGuard, TMLockMutexGuard: RAII lock guards
    that try to elide lock_sys.latch and related latches.
    1f022809
srv0srv.cc 61.3 KB