diff mbox series

syscalls/madvise06: Add madvise WILLNEED performance problem tag

Message ID 1627979166-967-1-git-send-email-xuyang2018.jy@fujitsu.com
State Accepted
Headers show
Series syscalls/madvise06: Add madvise WILLNEED performance problem tag | expand

Commit Message

Yang Xu Aug. 3, 2021, 8:26 a.m. UTC
When running this case on 5.10-rc1 kernel, it will trigger the following failure
......
madvise06.c:74: TINFO:  memory.kmem.usage_in_bytes: 1752 Kb
madvise06.c:208: TPASS: more than 102400 Kb were moved to the swap cache
madvise06.c:217: TINFO: PageFault(madvice / no mem access): 102400
madvise06.c:221: TINFO: PageFault(madvice / mem access): 105600
madvise06.c:82: TINFO: After page access
madvise06.c:84: TINFO:  Swap: 307540 Kb
madvise06.c:86: TINFO:  SwapCached: 100480 Kb
madvise06.c:88: TINFO:  Cached: 102056 Kb
madvise06.c:74: TINFO:  memory.current: 204636 Kb
madvise06.c:74: TINFO:  memory.swap.current: 411476 Kb
madvise06.c:74: TINFO:  memory.kmem.usage_in_bytes: 1752 Kb
madvise06.c:226: TFAIL: 3200 pages were faulted out of 2 max

It fails because of madvise WILLNEED performance problem, so add the introduced and
fixed commit.

Signed-off-by: Yang Xu <xuyang2018.jy@fujitsu.com>
---
 testcases/kernel/syscalls/madvise/madvise06.c | 8 ++++++++
 1 file changed, 8 insertions(+)

Comments

Cyril Hrubis Aug. 3, 2021, 11:34 a.m. UTC | #1
Hi!
> diff --git a/testcases/kernel/syscalls/madvise/madvise06.c b/testcases/kernel/syscalls/madvise/madvise06.c
> index 63d8d5452..f2f65ff96 100644
> --- a/testcases/kernel/syscalls/madvise/madvise06.c
> +++ b/testcases/kernel/syscalls/madvise/madvise06.c
> @@ -35,6 +35,12 @@
>   * faults. Two faults are allowed incase some tasklet or something
>   * else unexpected, but irrelevant procedure, registers a fault to
>   * our process.
> + *
> + * It also can reproduce the MADV_WILLNEED preformance problem.
> + * It was introduced since 5.9 kernel with the following commit
> + *   e6e88712e43b ("mm: optimise madvise WILLNEED")
> + * and fixed since 5.10-rc5 kernel with the following commit
> + *   66383800df9c ("mm: fix madvise WILLNEED performance problem").
>   */
>  
>  #include <errno.h>
> @@ -242,6 +248,8 @@ static struct tst_test test = {
>  	.tags = (const struct tst_tag[]) {
>  		{"linux-git", "55231e5c898c"},
>  		{"linux-git", "8de15e920dc8"},
> +		{"linux-git", "e6e88712e43b"},
> +		{"linux-git", "66383800df9c"},

We only put patches that fixed the problem into the tags since we use
these to print failure hints about missing kernel patches.

Other than that it looks fine.

>  		{}
>  	}
>  };
> -- 
> 2.23.0
> 
> 
> -- 
> Mailing list info: https://lists.linux.it/listinfo/ltp
Yang Xu Aug. 4, 2021, 1:23 a.m. UTC | #2
Hi Cyril
> Hi!
>> diff --git a/testcases/kernel/syscalls/madvise/madvise06.c b/testcases/kernel/syscalls/madvise/madvise06.c
>> index 63d8d5452..f2f65ff96 100644
>> --- a/testcases/kernel/syscalls/madvise/madvise06.c
>> +++ b/testcases/kernel/syscalls/madvise/madvise06.c
>> @@ -35,6 +35,12 @@
>>    * faults. Two faults are allowed incase some tasklet or something
>>    * else unexpected, but irrelevant procedure, registers a fault to
>>    * our process.
>> + *
>> + * It also can reproduce the MADV_WILLNEED preformance problem.
>> + * It was introduced since 5.9 kernel with the following commit
>> + *   e6e88712e43b ("mm: optimise madvise WILLNEED")
>> + * and fixed since 5.10-rc5 kernel with the following commit
>> + *   66383800df9c ("mm: fix madvise WILLNEED performance problem").
>>    */
>>
>>   #include<errno.h>
>> @@ -242,6 +248,8 @@ static struct tst_test test = {
>>   	.tags = (const struct tst_tag[]) {
>>   		{"linux-git", "55231e5c898c"},
>>   		{"linux-git", "8de15e920dc8"},
>> +		{"linux-git", "e6e88712e43b"},
>> +		{"linux-git", "66383800df9c"},
>
> We only put patches that fixed the problem into the tags since we use
> these to print failure hints about missing kernel patches.
Oh, yes. Thanks for your review, I merged this patch with removing 
introduced patch tag.

Best Regards
Yang Xu
>
> Other than that it looks fine.
>
>>   		{}
>>   	}
>>   };
>> --
>> 2.23.0
>>
>>
>> --
>> Mailing list info: https://lists.linux.it/listinfo/ltp
>
diff mbox series

Patch

diff --git a/testcases/kernel/syscalls/madvise/madvise06.c b/testcases/kernel/syscalls/madvise/madvise06.c
index 63d8d5452..f2f65ff96 100644
--- a/testcases/kernel/syscalls/madvise/madvise06.c
+++ b/testcases/kernel/syscalls/madvise/madvise06.c
@@ -35,6 +35,12 @@ 
  * faults. Two faults are allowed incase some tasklet or something
  * else unexpected, but irrelevant procedure, registers a fault to
  * our process.
+ *
+ * It also can reproduce the MADV_WILLNEED preformance problem.
+ * It was introduced since 5.9 kernel with the following commit
+ *   e6e88712e43b ("mm: optimise madvise WILLNEED")
+ * and fixed since 5.10-rc5 kernel with the following commit
+ *   66383800df9c ("mm: fix madvise WILLNEED performance problem").
  */
 
 #include <errno.h>
@@ -242,6 +248,8 @@  static struct tst_test test = {
 	.tags = (const struct tst_tag[]) {
 		{"linux-git", "55231e5c898c"},
 		{"linux-git", "8de15e920dc8"},
+		{"linux-git", "e6e88712e43b"},
+		{"linux-git", "66383800df9c"},
 		{}
 	}
 };