31#ifdef HAVE_SYS_SOCKET_H
32#include <sys/socket.h>
51#if defined(HAVE_POSIX_MEMALIGN) || defined(HAVE_MEMALIGN) || \
52 defined(HAVE_ALIGNED_MALLOC)
53#define PFS_ALIGNEMENT 64
54#define PFS_ALIGNED alignas(PFS_ALIGNEMENT)
64#ifdef CPU_LEVEL1_DCACHE_LINESIZE
65#define PFS_CACHE_LINE_SIZE CPU_LEVEL1_DCACHE_LINESIZE
67#define PFS_CACHE_LINE_SIZE 128
120#define PFS_MALLOC_ARRAY(k, n, s, T, f) \
121 reinterpret_cast<T *>(pfs_malloc_array((k), (n), (s), (f)))
137#define PFS_FREE_ARRAY(k, n, s, p) pfs_free_array((k), (n), (s), (p))
140bool is_overflow(
size_t product,
size_t n1,
size_t n2);
143 const struct sockaddr_storage *src_addr,
150#define PFS_NEW(CLASS) (new (*THR_MALLOC) CLASS())
153 MY_ATTRIBUTE((format(printf, 1, 2)));
160#define SANITIZE_ARRAY_BODY(T, ARRAY, MAX, UNSAFE) \
162 if ((&ARRAY[0] <= UNSAFE) && (UNSAFE < &ARRAY[MAX])) { \
163 offset = ((intptr)UNSAFE - (intptr)ARRAY) % sizeof(T); \
static int flags[50]
Definition: hp_test1.cc:39
Header for compiler-dependent features.
Some integer typedefs for easier portability.
int myf
Definition: my_inttypes.h:93
const char * host
Definition: mysqladmin.cc:58
uint pfs_get_socket_address(char *host, uint host_len, uint *port, const struct sockaddr_storage *src_addr, socklen_t src_len)
Convert raw ip address into readable format.
Definition: pfs_global.cc:212
void * pfs_malloc_array(PFS_builtin_memory_class *klass, size_t n, size_t size, myf flags)
Allocate an array of structures with overflow check.
Definition: pfs_global.cc:141
void pfs_print_error(const char *format,...)
Definition: pfs_global.cc:195
bool pfs_initialized
True when the performance schema is initialized.
Definition: pfs_global.cc:52
void * pfs_malloc(PFS_builtin_memory_class *klass, size_t size, myf flags)
Memory allocation for the performance schema.
Definition: pfs_global.cc:59
void pfs_free(PFS_builtin_memory_class *klass, size_t size, void *ptr)
Free memory allocated with.
Definition: pfs_global.cc:106
void pfs_free_array(PFS_builtin_memory_class *klass, size_t n, size_t size, void *ptr)
Free memory allocated with.
Definition: pfs_global.cc:169
bool is_overflow(size_t product, size_t n1, size_t n2)
Detect multiplication overflow.
Definition: pfs_global.cc:187
#define PFS_CACHE_LINE_SIZE
Definition: pfs_global.h:65
required uint64 port
Definition: replication_asynchronous_connection_failover.proto:32
Definition: pfs_builtin_memory.h:38
An atomic size_t variable, guaranteed to be alone in a CPU cache line.
Definition: pfs_global.h:96
std::atomic< size_t > m_size_t
Definition: pfs_global.h:97
PFS_cacheline_atomic_size_t()
Definition: pfs_global.h:100
char m_full_cache_line[PFS_CACHE_LINE_SIZE - sizeof(std::atomic< size_t >)]
Definition: pfs_global.h:98
An atomic uint32 variable, guaranteed to be alone in a CPU cache line.
Definition: pfs_global.h:74
PFS_cacheline_atomic_uint32()
Definition: pfs_global.h:78
char m_full_cache_line[PFS_CACHE_LINE_SIZE - sizeof(std::atomic< uint32 >)]
Definition: pfs_global.h:76
std::atomic< uint32 > m_u32
Definition: pfs_global.h:75
An atomic uint64 variable, guaranteed to be alone in a CPU cache line.
Definition: pfs_global.h:85
char m_full_cache_line[PFS_CACHE_LINE_SIZE - sizeof(std::atomic< uint64 >)]
Definition: pfs_global.h:87
std::atomic< uint64 > m_u64
Definition: pfs_global.h:86
PFS_cacheline_atomic_uint64()
Definition: pfs_global.h:89
unsigned int uint
Definition: uca-dump.cc:29
int n
Definition: xcom_base.cc:508