#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().
1.4.7