Lines Matching refs:pfn
31 static inline off64_t pfn_to_idle_bitmap_offset(uint64_t pfn) { in pfn_to_idle_bitmap_offset() argument
32 return static_cast<off64_t>((pfn >> 6) << 3); in pfn_to_idle_bitmap_offset()
77 bool PageAcct::PageFlags(uint64_t pfn, uint64_t* flags) { in PageFlags() argument
84 if (pread64(kpageflags_fd_, flags, sizeof(uint64_t), pfn * sizeof(uint64_t)) < 0) { in PageFlags()
85 PLOG(ERROR) << "Failed to read page flags for page " << pfn; in PageFlags()
91 bool PageAcct::PageMapCount(uint64_t pfn, uint64_t* mapcount) { in PageMapCount() argument
98 if (pread64(kpagecount_fd_, mapcount, sizeof(uint64_t), pfn * sizeof(uint64_t)) < 0) { in PageMapCount()
99 PLOG(ERROR) << "Failed to read map count for page " << pfn; in PageMapCount()
105 int PageAcct::IsPageIdle(uint64_t pfn) { in IsPageIdle() argument
110 int idle_status = MarkPageIdle(pfn); in IsPageIdle()
113 return GetPageIdle(pfn); in IsPageIdle()
116 int PageAcct::MarkPageIdle(uint64_t pfn) const { in MarkPageIdle()
117 off64_t offset = pfn_to_idle_bitmap_offset(pfn); in MarkPageIdle()
119 uint64_t idle_bits = 1ULL << (pfn % 64); in MarkPageIdle()
122 PLOG(ERROR) << "Failed to write page idle bitmap for page " << pfn; in MarkPageIdle()
129 int PageAcct::GetPageIdle(uint64_t pfn) const { in GetPageIdle()
130 off64_t offset = pfn_to_idle_bitmap_offset(pfn); in GetPageIdle()
134 PLOG(ERROR) << "Failed to read page idle bitmap for page " << pfn; in GetPageIdle()
138 return !!(idle_bits & (1ULL << (pfn % 64))); in GetPageIdle()