mirror of
https://github.com/MariaDB/server.git
synced 2025-02-10 15:35:34 +01:00
![Marko Mäkelä](/assets/img/avatar_default.png)
pmem_phwsync(): The implementation for POWER ISA v3.1 that is compatible with libpmem. pmem_fence(): A dummy implementation for older ISA. While such systems are unlikely to support MAP_SYNC memory mappings, this could be useful when running tests with memory-mapped /dev/shm/*/ib_logfile0 (the "fake PMEM"), to ensure that mariadb-backup will be able to read the latest redo log contents. pmem_persist_init(): Check the availability of POWER ISA v3.1. Thanks to Daniel Black for suggesting this.
33 lines
1.1 KiB
C++
33 lines
1.1 KiB
C++
/*****************************************************************************
|
|
|
|
Copyright (c) 2024, MariaDB plc
|
|
|
|
This program is free software; you can redistribute it and/or modify it under
|
|
the terms of the GNU General Public License as published by the Free Software
|
|
Foundation; version 2 of the License.
|
|
|
|
This program is distributed in the hope that it will be useful, but WITHOUT
|
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
|
FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License along with
|
|
this program; if not, write to the Free Software Foundation, Inc.,
|
|
51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
|
|
|
|
*****************************************************************************/
|
|
|
|
#pragma once
|
|
#include <cstddef>
|
|
|
|
#if defined __x86_64__ || defined __aarch64__ || defined __powerpc64__
|
|
struct pmem_control
|
|
{
|
|
void (*persist)(const void *, size_t);
|
|
public:
|
|
pmem_control();
|
|
};
|
|
extern const pmem_control pmem;
|
|
# define pmem_persist(buf, size) pmem.persist(buf, size)
|
|
#else
|
|
void pmem_persist(const void *buf, size_t size);
|
|
#endif
|