Atlas Runtime
pregion_configs.hpp
Go to the documentation of this file.
1 /*
2  * (c) Copyright 2016 Hewlett Packard Enterprise Development LP
3  *
4  * This program is free software: you can redistribute it and/or modify
5  * it under the terms of the GNU Lesser General Public License as
6  * published by the Free Software Foundation, either version 3 of the
7  * License, or (at your option) any later version. This program is
8  * distributed in the hope that it will be useful, but WITHOUT ANY
9  * WARRANTY; without even the implied warranty of MERCHANTABILITY or
10  * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
11  * for more details. You should have received a copy of the GNU Lesser
12  * General Public License along with this program. If not, see
13  * <http://www.gnu.org/licenses/>.
14  */
15 
16 
17 #ifndef PREGION_CONFIGS_HPP
18 #define PREGION_CONFIGS_HPP
19 
20 namespace Atlas {
21 
22 typedef uint32_t region_id_t;
23 
24 const uint32_t kDCacheLineSize_ = 64;
25 const uint32_t kMaxlen_ = kDCacheLineSize_;
26 
27 const uint64_t kByte_ = 1024;
28 const uint64_t kPRegionSize_ = 1 * kByte_ * kByte_ * kByte_; /* 4GB */
29 const uint32_t kMaxNumPRegions_ = 100;
30 const uint32_t kNumArenas_ = 64;
31 const uint32_t kArenaSize_ = kPRegionSize_ / kNumArenas_;
32 const uint32_t kMaxFreeCategory_ = 128;
34 const uint32_t kMaxBits_ = 48;
35 const uint64_t kPRegionsBase_ =
36  (((uint64_t)1 << (kMaxBits_ - 1)) - (kPRegionSize_ * kMaxNumPRegions_))/2;
37 
38 } // namespace Atlas
39 
40 #endif
const uint32_t kArenaSize_
Definition: pregion_configs.hpp:31
const uint32_t kMaxlen_
Definition: pregion_configs.hpp:25
const uint32_t kInvalidPRegion_
Definition: pregion_configs.hpp:33
const uint32_t kMaxNumPRegions_
Definition: pregion_configs.hpp:29
const uint64_t kByte_
Definition: pregion_configs.hpp:27
const uint32_t kNumArenas_
Definition: pregion_configs.hpp:30
const uint32_t kMaxFreeCategory_
Definition: pregion_configs.hpp:32
uint32_t region_id_t
Definition: pregion_configs.hpp:22
const uint64_t kPRegionSize_
Definition: pregion_configs.hpp:28
const uint64_t kPRegionsBase_
Definition: pregion_configs.hpp:35
const uint32_t kMaxBits_
Definition: pregion_configs.hpp:34
const uint32_t kDCacheLineSize_
Definition: pregion_configs.hpp:24
Definition: atlas_alloc_cpp.hpp:21