30 private:
31 int _fd;
32 size_t _size;
33 uint64_t _filesystem;
34 size_t _block_size;
35 size_t _available;
36 bool _initialized;
37
38 void warn_available_space(size_t max) const;
39 void warn_max_map_count(size_t max) const;
40
41 int create_mem_fd(const char* name) const;
42 int create_file_fd(const char* name) const;
43 int create_fd(const char* name) const;
44
45 bool is_tmpfs() const;
46 bool is_hugetlbfs() const;
47 bool tmpfs_supports_transparent_huge_pages() const;
48
49 ZErrno fallocate_compat_ftruncate(size_t size) const;
50 ZErrno fallocate_compat_mmap(size_t offset, size_t length, bool reserve_only) const;
51 ZErrno fallocate_compat_pwrite(size_t offset, size_t length) const;
52 ZErrno fallocate_fill_hole_compat(size_t offset, size_t length);
53 ZErrno fallocate_fill_hole_syscall(size_t offset, size_t length);
54 ZErrno fallocate_fill_hole(size_t offset, size_t length);
55 ZErrno fallocate_punch_hole(size_t offset, size_t length);
56 ZErrno split_and_fallocate(bool punch_hole, size_t offset, size_t length);
57 ZErrno fallocate(bool punch_hole, size_t offset, size_t length);
58
59 bool commit_inner(size_t offset, size_t length);
60 size_t commit_numa_interleaved(size_t offset, size_t length);
61 size_t commit_default(size_t offset, size_t length);
62
63 public:
64 ZPhysicalMemoryBacking();
65
66 bool is_initialized() const;
67
68 void warn_commit_limits(size_t max) const;
69
70 size_t size() const;
|
30 private:
31 int _fd;
32 size_t _size;
33 uint64_t _filesystem;
34 size_t _block_size;
35 size_t _available;
36 bool _initialized;
37
38 void warn_available_space(size_t max) const;
39 void warn_max_map_count(size_t max) const;
40
41 int create_mem_fd(const char* name) const;
42 int create_file_fd(const char* name) const;
43 int create_fd(const char* name) const;
44
45 bool is_tmpfs() const;
46 bool is_hugetlbfs() const;
47 bool tmpfs_supports_transparent_huge_pages() const;
48
49 ZErrno fallocate_compat_ftruncate(size_t size) const;
50 ZErrno fallocate_compat_mmap_hugetlbfs(size_t offset, size_t length, bool touch) const;
51 ZErrno fallocate_compat_mmap_tmpfs(size_t offset, size_t length) const;
52 ZErrno fallocate_compat_pwrite(size_t offset, size_t length) const;
53 ZErrno fallocate_fill_hole_compat(size_t offset, size_t length);
54 ZErrno fallocate_fill_hole_syscall(size_t offset, size_t length);
55 ZErrno fallocate_fill_hole(size_t offset, size_t length);
56 ZErrno fallocate_punch_hole(size_t offset, size_t length);
57 ZErrno split_and_fallocate(bool punch_hole, size_t offset, size_t length);
58 ZErrno fallocate(bool punch_hole, size_t offset, size_t length);
59
60 bool commit_inner(size_t offset, size_t length);
61 size_t commit_numa_interleaved(size_t offset, size_t length);
62 size_t commit_default(size_t offset, size_t length);
63
64 public:
65 ZPhysicalMemoryBacking();
66
67 bool is_initialized() const;
68
69 void warn_commit_limits(size_t max) const;
70
71 size_t size() const;
|