提交 ee65735d 编写于 作者: Y Yannick Brosseau 提交者: Shuah Khan

selftests/vm: write strlen length instead of sizeof to nr_hugepages

When setting back the initial value to nr_hugepages, the
test was writing a length sizeof of the string and checking
that strlen was writen. Since those values are not the same,
use strlen in both place instead.

Also make the error messages more explicit to help in future
debugging.
Signed-off-by: NYannick Brosseau <scientist@fb.com>
Signed-off-by: NShuah Khan <shuahkh@osg.samsung.com>
上级 3aefd1fe
...@@ -101,7 +101,7 @@ int check_compaction(unsigned long mem_free, unsigned int hugepage_size) ...@@ -101,7 +101,7 @@ int check_compaction(unsigned long mem_free, unsigned int hugepage_size)
/* Start with the initial condition of 0 huge pages*/ /* Start with the initial condition of 0 huge pages*/
if (write(fd, "0", sizeof(char)) != sizeof(char)) { if (write(fd, "0", sizeof(char)) != sizeof(char)) {
perror("Failed to write to /proc/sys/vm/nr_hugepages\n"); perror("Failed to write 0 to /proc/sys/vm/nr_hugepages\n");
goto close_fd; goto close_fd;
} }
...@@ -110,14 +110,14 @@ int check_compaction(unsigned long mem_free, unsigned int hugepage_size) ...@@ -110,14 +110,14 @@ int check_compaction(unsigned long mem_free, unsigned int hugepage_size)
/* Request a large number of huge pages. The Kernel will allocate /* Request a large number of huge pages. The Kernel will allocate
as much as it can */ as much as it can */
if (write(fd, "100000", (6*sizeof(char))) != (6*sizeof(char))) { if (write(fd, "100000", (6*sizeof(char))) != (6*sizeof(char))) {
perror("Failed to write to /proc/sys/vm/nr_hugepages\n"); perror("Failed to write 100000 to /proc/sys/vm/nr_hugepages\n");
goto close_fd; goto close_fd;
} }
lseek(fd, 0, SEEK_SET); lseek(fd, 0, SEEK_SET);
if (read(fd, nr_hugepages, sizeof(nr_hugepages)) <= 0) { if (read(fd, nr_hugepages, sizeof(nr_hugepages)) <= 0) {
perror("Failed to read from /proc/sys/vm/nr_hugepages\n"); perror("Failed to re-read from /proc/sys/vm/nr_hugepages\n");
goto close_fd; goto close_fd;
} }
...@@ -136,9 +136,9 @@ int check_compaction(unsigned long mem_free, unsigned int hugepage_size) ...@@ -136,9 +136,9 @@ int check_compaction(unsigned long mem_free, unsigned int hugepage_size)
printf("No of huge pages allocated = %d\n", printf("No of huge pages allocated = %d\n",
(atoi(nr_hugepages))); (atoi(nr_hugepages)));
if (write(fd, initial_nr_hugepages, sizeof(initial_nr_hugepages)) if (write(fd, initial_nr_hugepages, strlen(initial_nr_hugepages))
!= strlen(initial_nr_hugepages)) { != strlen(initial_nr_hugepages)) {
perror("Failed to write to /proc/sys/vm/nr_hugepages\n"); perror("Failed to write value to /proc/sys/vm/nr_hugepages\n");
goto close_fd; goto close_fd;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册