• Eugene Kosov's avatar
    MDEV-17084 Optimize append only files for NVDIMM · 3daef523
    Eugene Kosov authored
    Optionally use libpmem for InnoDB redo log writing.
    
    When server is built -DWITH_PMEM=ON InnoDB tries to detect
    that redo log is located on persistent memory storage and
    uses faster file access method.
    
    When server is built with -DWITH_PMEM=OFF preprocessor is
    used to ensure that no slowdown will present due to allocations
    and virtual function calls. So, we don't slow down server
    in a common case.
    
    mapped_file_t: an map file, unmap file and returns mapped memory buffer
    
    file_io: abstraction around memory mapped files and file descriptors.
    Allows writing, reading and flushing to files.
    
    file_io::writes_are_durable(): notable method of a class.
    When it returns true writes are flushed immediately.
    
    file_os_io: file descriptor based file access. Depends on a global state
    like srv_read_only_mode
    
    file_pmem_io: file access via libpmem
    
    This is a collaboration work with Sergey Vojtovich
    3daef523
log0log.h 32 KB