Re: [PATCH] kselftest: fix OOM in memory compaction test

From: Shuah Khan
Date: Wed Jan 10 2018 - 12:04:48 EST


On 01/09/2018 09:47 AM, Shuah Khan wrote:
> 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: stable@xxxxxxxxxxxxxxx
>> Reported-by: Naresh Kamboju <naresh.kamboju@xxxxxxxxxx>
>> Link: https://bugs.linaro.org/show_bug.cgi?id=3145
>> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
>> ---
>> 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
>

Applied to linux-kselftest next for 4.16-rc1

thanks,
-- Shuah