Re: [PATCH] selftests/vm: write strlen length instead of sizeof to nr_hugepages
From: Shuah Khan
Date: Mon Jun 27 2016 - 13:51:46 EST
On 06/20/2016 09:07 AM, Yannick Brosseau wrote:
> 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: Yannick Brosseau <scientist@xxxxxx>
Looks good. This is a good improvement. Will get this
into 4.8-rc1.
thanks,
-- Shuah
> ---
> tools/testing/selftests/vm/compaction_test.c | 10 +++++-----
> 1 file changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/tools/testing/selftests/vm/compaction_test.c b/tools/testing/selftests/vm/compaction_test.c
> index 932ff57..6d1437f 100644
> --- a/tools/testing/selftests/vm/compaction_test.c
> +++ b/tools/testing/selftests/vm/compaction_test.c
> @@ -101,7 +101,7 @@ int check_compaction(unsigned long mem_free, unsigned int hugepage_size)
>
> /* Start with the initial condition of 0 huge pages*/
> 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;
> }
>
> @@ -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
> as much as it can */
> 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;
> }
>
> lseek(fd, 0, SEEK_SET);
>
> 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;
> }
>
> @@ -136,9 +136,9 @@ int check_compaction(unsigned long mem_free, unsigned int hugepage_size)
> printf("No of huge pages allocated = %d\n",
> (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)) {
> - 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;
> }
>
>