31#ifdef HAVE_SYS_SOCKET_H
32#include <sys/socket.h>
53#if defined(HAVE_POSIX_MEMALIGN) || defined(HAVE_MEMALIGN) || \
54 defined(HAVE_ALIGNED_MALLOC)
55#define PFS_ALIGNEMENT 64
56#define PFS_ALIGNED alignas(PFS_ALIGNEMENT)
66#ifdef CPU_LEVEL1_DCACHE_LINESIZE
67#define PFS_CACHE_LINE_SIZE CPU_LEVEL1_DCACHE_LINESIZE
69#define PFS_CACHE_LINE_SIZE 128
122#define PFS_MALLOC_ARRAY(k, n, s, T, f) \
123 reinterpret_cast<T *>(pfs_malloc_array((k), (n), (s), (f)))
139#define PFS_FREE_ARRAY(k, n, s, p) pfs_free_array((k), (n), (s), (p))
142bool is_overflow(
size_t product,
size_t n1,
size_t n2);
145 const struct sockaddr_storage *src_addr,
152#define PFS_NEW(CLASS) (new (*THR_MALLOC) CLASS())
155 MY_ATTRIBUTE((format(printf, 1, 2)));
162#define SANITIZE_ARRAY_BODY(T, ARRAY, MAX, UNSAFE) \
164 if ((&ARRAY[0] <= UNSAFE) && (UNSAFE < &ARRAY[MAX])) { \
165 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:209
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:192
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:170
bool is_overflow(size_t product, size_t n1, size_t n2)
Detect multiplication overflow.
Definition: pfs_global.cc:188
#define PFS_CACHE_LINE_SIZE
Definition: pfs_global.h:67
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:98
std::atomic< size_t > m_size_t
Definition: pfs_global.h:99
PFS_cacheline_atomic_size_t()
Definition: pfs_global.h:102
char m_full_cache_line[PFS_CACHE_LINE_SIZE - sizeof(std::atomic< size_t >)]
Definition: pfs_global.h:100
An atomic uint32 variable, guaranteed to be alone in a CPU cache line.
Definition: pfs_global.h:76
PFS_cacheline_atomic_uint32()
Definition: pfs_global.h:80
char m_full_cache_line[PFS_CACHE_LINE_SIZE - sizeof(std::atomic< uint32 >)]
Definition: pfs_global.h:78
std::atomic< uint32 > m_u32
Definition: pfs_global.h:77
An atomic uint64 variable, guaranteed to be alone in a CPU cache line.
Definition: pfs_global.h:87
char m_full_cache_line[PFS_CACHE_LINE_SIZE - sizeof(std::atomic< uint64 >)]
Definition: pfs_global.h:89
std::atomic< uint64 > m_u64
Definition: pfs_global.h:88
PFS_cacheline_atomic_uint64()
Definition: pfs_global.h:91
unsigned int uint
Definition: uca9-dump.cc:74
int n
Definition: xcom_base.cc:508