On 01/09/2018 09:26 AM, Arnd Bergmann wrote:
> Running the compaction_test sometimes results in out-of-memory
> failures. When I debugged this, it turned out that the code to
> reset the number of hugepages to the initial value is simply
> broken since we write into an open sysctl file descriptor
> multiple times without seeking back to the start.
> 
> Adding the lseek here fixes the problem.
> 
> Cc: [email protected]
> Reported-by: Naresh Kamboju <[email protected]>
> Link: https://bugs.linaro.org/show_bug.cgi?id=3145
> Signed-off-by: Arnd Bergmann <[email protected]>
> ---
>  tools/testing/selftests/vm/compaction_test.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/tools/testing/selftests/vm/compaction_test.c 
> b/tools/testing/selftests/vm/compaction_test.c
> index a65b016d4c13..1097f04e4d80 100644
> --- a/tools/testing/selftests/vm/compaction_test.c
> +++ b/tools/testing/selftests/vm/compaction_test.c
> @@ -137,6 +137,8 @@ int check_compaction(unsigned long mem_free, unsigned int 
> hugepage_size)
>       printf("No of huge pages allocated = %d\n",
>              (atoi(nr_hugepages)));
>  
> +     lseek(fd, 0, SEEK_SET);
> +
>       if (write(fd, initial_nr_hugepages, strlen(initial_nr_hugepages))
>           != strlen(initial_nr_hugepages)) {
>               perror("Failed to write value to /proc/sys/vm/nr_hugepages\n");
> 


Thanks for the patch. I will get this into 4.16-rc1

thanks,
-- Shuah

Reply via email to