@@ -42,7 +42,7 @@ class MigrationPolicy : public Policy {
4242 virtual ~MigrationPolicy () = default ;
4343
4444 // 基本的compute_once方法,决定是否需要执行迁移
45- int compute_once (CXLController* controller) override {
45+ int compute_once (CXLController * controller) override {
4646 auto migration_list = get_migration_list (controller);
4747 return migration_list.empty () ? 0 : 1 ;
4848 }
@@ -54,20 +54,19 @@ class MigrationPolicy : public Policy {
5454 return migration_list;
5555 }
5656 // 判断特定地址是否应该迁移
57- virtual bool should_migrate (uint64_t addr, uint64_t timestamp, int current_device) {
58- return false ;
59- }
57+ virtual bool should_migrate (uint64_t addr, uint64_t timestamp, int current_device) { return false ; }
6058
6159 // 为给定地址选择最佳的目标设备
62- virtual int select_target_device (uint64_t addr, int current_device, CXLController* controller) {
63- return -1 ; // -1表示不迁移
60+ virtual int select_target_device (uint64_t addr, int current_device, CXLController * controller) {
61+ return -1 ; // -1表示不迁移
6462 }
6563};
6664
6765// need to give a timeout and will be added latency later,
6866class PagingPolicy : public Policy {
6967public:
7068 PagingPolicy ();
69+ int compute_once (CXLController *) override {};
7170 // paging related
7271};
7372
@@ -86,7 +85,7 @@ class CachingPolicy : public Policy {
8685 }
8786
8887 // 获取需要失效的地址列表
89- virtual std::vector<uint64_t > get_invalidation_list (CXLController* controller) {
88+ virtual std::vector<uint64_t > get_invalidation_list (CXLController * controller) {
9089 return {}; // 默认行为,可以被子类覆盖
9190 }
9291};
@@ -99,7 +98,7 @@ struct LRUCacheEntry {
9998
10099// LRU缓存
101100class LRUCache {
102- public:
101+ public:
103102 int capacity; // 缓存容量
104103 std::unordered_map<uint64_t , LRUCacheEntry> cache; // 缓存映射
105104 std::list<uint64_t > lru_list; // LRU列表,最近使用的在前面
@@ -155,9 +154,7 @@ class LRUCache {
155154 lru_map.clear ();
156155 }
157156 // LRU缓存类中添加size()方法
158- size_t size () const {
159- return cache.size ();
160- }
157+ size_t size () const { return cache.size (); }
161158
162159 // LRU缓存类中添加remove()方法
163160 bool remove (uint64_t key) {
@@ -198,7 +195,7 @@ class CXLController : public CXLSwitch {
198195 double latency_lat{};
199196 double bandwidth_lat{};
200197 double dramlatency;
201- std::unordered_map<int , CXLMemExpander*> device_map;
198+ std::unordered_map<int , CXLMemExpander *> device_map;
202199 // ring buffer
203200 std::queue<lbr> ring_buffer;
204201 // rob info
@@ -232,7 +229,7 @@ class CXLController : public CXLSwitch {
232229 void update_cache (uint64_t addr, uint64_t value, uint64_t timestamp) { lru_cache.put (addr, value, timestamp); }
233230 void perform_back_invalidation ();
234231 void invalidate_in_expanders (uint64_t addr);
235- void invalidate_in_switch (CXLSwitch* switch_, uint64_t addr);
232+ void invalidate_in_switch (CXLSwitch * switch_, uint64_t addr);
236233};
237234
238235template <> struct std ::formatter<CXLController> {
0 commit comments