Thrill  0.1
block_pool.cpp File Reference
#include <thrill/common/logger.hpp>
#include <thrill/common/math.hpp>
#include <thrill/data/block.hpp>
#include <thrill/data/block_pool.hpp>
#include <thrill/mem/aligned_allocator.hpp>
#include <thrill/mem/pool.hpp>
#include <foxxll/io/file.hpp>
#include <foxxll/io/iostats.hpp>
#include <tlx/container/lru_cache.hpp>
#include <tlx/die.hpp>
#include <tlx/math/is_power_of_two.hpp>
#include <tlx/string/join_generic.hpp>
#include <algorithm>
#include <functional>
#include <iostream>
#include <limits>
#include <thread>
#include <unordered_map>
#include <unordered_set>
#include <utility>
#include <vector>
+ Include dependency graph for block_pool.cpp:

Go to the source code of this file.

Namespaces

 thrill
 
 thrill::data
 

Typedefs

using ReadingMap = std::unordered_map< ByteBlock *, PinRequestPtr, std::hash< ByteBlock * >, std::equal_to<>, mem::GPoolAllocator< std::pair< ByteBlock *const, PinRequestPtr > > >
 type of set of ByteBlocks currently begin read from EM. More...
 
using WritingMap = std::unordered_map< ByteBlock *, foxxll::request_ptr, std::hash< ByteBlock * >, std::equal_to<>, mem::GPoolAllocator< std::pair< ByteBlock *const, foxxll::request_ptr > > >
 type of set of ByteBlocks currently begin written to EM. More...
 

Functions

std::ostream & operator<< (std::ostream &os, const BlockPool::PinCount &p)
 
static void OurNewHandler ()
 

Variables

static constexpr bool debug_alloc = false
 debug block memory alloc and dealloc More...
 
static constexpr bool debug_blc = false
 debug block life cycle output: create, destroy More...
 
static constexpr bool debug_em = false
 debug block eviction: evict, write complete, read complete More...
 
static constexpr bool debug_mem = false
 debug memory requests More...
 
static constexpr bool debug_pin = false
 debug block pinning: More...
 
static std::atomic< bool > in_new_handler
 
static std::vector< BlockPool * > s_blockpools
 
static std::recursive_mutex s_new_mutex