@@ -21,6 +21,11 @@ const (
21
21
limit = "hugetlb.%s.limit_in_bytes"
22
22
maxUsage = "hugetlb.%s.max_usage_in_bytes"
23
23
failcnt = "hugetlb.%s.failcnt"
24
+
25
+ rsvdUsage = "hugetlb.%s.rsvd.usage_in_bytes"
26
+ rsvdLimit = "hugetlb.%s.rsvd.limit_in_bytes"
27
+ rsvdMaxUsage = "hugetlb.%s.rsvd.max_usage_in_bytes"
28
+ rsvdFailcnt = "hugetlb.%s.rsvd.failcnt"
24
29
)
25
30
26
31
func TestHugetlbSetHugetlb (t * testing.T ) {
@@ -52,13 +57,15 @@ func TestHugetlbSetHugetlb(t *testing.T) {
52
57
}
53
58
54
59
for _ , pageSize := range cgroups .HugePageSizes () {
55
- limit := fmt .Sprintf (limit , pageSize )
56
- value , err := fscommon .GetCgroupParamUint (path , limit )
57
- if err != nil {
58
- t .Fatal (err )
59
- }
60
- if value != hugetlbAfter {
61
- t .Fatalf ("Set hugetlb.limit_in_bytes failed. Expected: %v, Got: %v" , hugetlbAfter , value )
60
+ for _ , f := range []string {limit , rsvdLimit } {
61
+ limit := fmt .Sprintf (f , pageSize )
62
+ value , err := fscommon .GetCgroupParamUint (path , limit )
63
+ if err != nil {
64
+ t .Fatal (err )
65
+ }
66
+ if value != hugetlbAfter {
67
+ t .Fatalf ("Set %s failed. Expected: %v, Got: %v" , limit , hugetlbAfter , value )
68
+ }
62
69
}
63
70
}
64
71
}
@@ -85,6 +92,28 @@ func TestHugetlbStats(t *testing.T) {
85
92
}
86
93
}
87
94
95
+ func TestHugetlbRStatsRsvd (t * testing.T ) {
96
+ path := tempDir (t , "hugetlb" )
97
+ for _ , pageSize := range cgroups .HugePageSizes () {
98
+ writeFileContents (t , path , map [string ]string {
99
+ fmt .Sprintf (rsvdUsage , pageSize ): hugetlbUsageContents ,
100
+ fmt .Sprintf (rsvdMaxUsage , pageSize ): hugetlbMaxUsageContents ,
101
+ fmt .Sprintf (rsvdFailcnt , pageSize ): hugetlbFailcnt ,
102
+ })
103
+ }
104
+
105
+ hugetlb := & HugetlbGroup {}
106
+ actualStats := * cgroups .NewStats ()
107
+ err := hugetlb .GetStats (path , & actualStats )
108
+ if err != nil {
109
+ t .Fatal (err )
110
+ }
111
+ expectedStats := cgroups.HugetlbStats {Usage : 128 , MaxUsage : 256 , Failcnt : 100 }
112
+ for _ , pageSize := range cgroups .HugePageSizes () {
113
+ expectHugetlbStatEquals (t , expectedStats , actualStats .HugetlbStats [pageSize ])
114
+ }
115
+ }
116
+
88
117
func TestHugetlbStatsNoUsageFile (t * testing.T ) {
89
118
path := tempDir (t , "hugetlb" )
90
119
writeFileContents (t , path , map [string ]string {
0 commit comments