#include <stdint.h>
#include <mmintrin.h>
#include <list.h>
#include <spinlock.h>
#include "cuckoo_hash/PointerHashInline.h"
Go to the source code of this file.
Classes | |
struct | pcm_storeset_s |
Defines | |
#define | WRITE_COMBINING_BUFFERS_NUM 8 |
#define | WCBUF_HASHTBL_SIZE WRITE_COMBINING_BUFFERS_NUM*4 |
#define | MEMORY_BANKING_FACTOR 8 |
#define | TOTAL_OUTCOMES_NUM 1000000 |
#define | NS2CYCLE(__ns) ((__ns) * M_PCM_CPUFREQ / 1000) |
#define | CYCLE2NS(__cycles) ((__cycles) * 1000 / M_PCM_CPUFREQ) |
#define | likely(x) __builtin_expect(!!(x), 1) |
#define | unlikely(x) __builtin_expect(!!(x), 0) |
#define | PAGE_SIZE 4096 |
#define | NUM_PAGES(size) ((((size) % PAGE_SIZE) == 0? 0 : 1) + (size)/PAGE_SIZE) |
#define | SIZEOF_PAGES(size) (NUM_PAGES((size)) * PAGE_SIZE) |
#define | PAGE_ALIGN(addr) (NUM_PAGES((addr)) * PAGE_SIZE) |
#define | CACHELINE_SIZE 32 |
#define | CACHELINE_SIZE_LOG 5 |
#define | BLOCK_ADDR(addr) ( (pcm_word_t *) (((pcm_word_t) (addr)) & ~(CACHELINE_SIZE - 1)) ) |
#define | INDEX_ADDR(addr) ( (pcm_word_t *) (((pcm_word_t) (addr)) & (CACHELINE_SIZE - 1)) ) |
#define | RAM_SYSTEM_PEAK_BANDWIDTH_MB 7000 |
Typedefs | |
typedef uintptr_t | pcm_word_t |
typedef uint64_t | pcm_hrtime_t |
typedef pcm_storeset_s | pcm_storeset_t |
typedef cacheline_tbl_s | cacheline_tbl_t |
Functions | |
int | pcm_storeset_create (pcm_storeset_t **setp) |
void | pcm_storeset_destroy (pcm_storeset_t *set) |
pcm_storeset_t * | pcm_storeset_get (void) |
void | pcm_storeset_put (void) |
void | pcm_wb_store_emulate_crash (pcm_storeset_t *set, volatile pcm_word_t *addr, pcm_word_t val) |
void | pcm_wb_flush_emulate_crash (pcm_storeset_t *set, volatile pcm_word_t *addr) |
void | pcm_nt_store_emulate_crash (pcm_storeset_t *set, volatile pcm_word_t *addr, pcm_word_t val) |
void | pcm_nt_flush_emulate_crash (pcm_storeset_t *set) |
Variables | |
unsigned int | pcm_likelihood_store_blockwaits |
volatile arch_spinlock_t | ticket_lock |
Definition in file pcm_i.h.
#define MEMORY_BANKING_FACTOR 8 |
#define WCBUF_HASHTBL_SIZE WRITE_COMBINING_BUFFERS_NUM*4 |
The size of the WC-buffer hash table. Must be a power of 2.
Definition at line 82 of file pcm_i.h.
Referenced by pcm_storeset_create().
#define WRITE_COMBINING_BUFFERS_NUM 8 |
The number of available write-combining buffers.
Definition at line 79 of file pcm_i.h.
Referenced by pcm_nt_store_emulate_crash().