linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] selftests/vm: 10x speedup for hmm-tests
@ 2020-10-03  1:17 John Hubbard
  2020-10-03  5:23 ` SeongJae Park
  2020-10-06 20:34 ` John Hubbard
  0 siblings, 2 replies; 4+ messages in thread
From: John Hubbard @ 2020-10-03  1:17 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Shuah Khan, LKML, linux-mm, linux-kselftest, John Hubbard,
	Ralph Campbell

This patch reduces the running time for hmm-tests from about 10+
seconds, to just under 1.0 second, for an approximately 10x speedup.
That brings it in line with most of the other tests in selftests/vm,
which mostly run in < 1 sec.

This is done with a one-line change that simply reduces the number of
iterations of several tests, from 256, to 10. Thanks to Ralph Campbell
for suggesting changing NTIMES as a way to get the speedup.

Suggested-by: Ralph Campbell <rcampbell@nvidia.com>
Signed-off-by: John Hubbard <jhubbard@nvidia.com>
---

This is based on mmotm.

 tools/testing/selftests/vm/hmm-tests.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/testing/selftests/vm/hmm-tests.c b/tools/testing/selftests/vm/hmm-tests.c
index 6b79723d7dc6..5d1ac691b9f4 100644
--- a/tools/testing/selftests/vm/hmm-tests.c
+++ b/tools/testing/selftests/vm/hmm-tests.c
@@ -49,7 +49,7 @@ struct hmm_buffer {
 #define TWOMEG		(1 << 21)
 #define HMM_BUFFER_SIZE (1024 << 12)
 #define HMM_PATH_MAX    64
-#define NTIMES		256
+#define NTIMES		10
 
 #define ALIGN(x, a) (((x) + (a - 1)) & (~((a) - 1)))
 
-- 
2.28.0


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] selftests/vm: 10x speedup for hmm-tests
  2020-10-03  1:17 [PATCH] selftests/vm: 10x speedup for hmm-tests John Hubbard
@ 2020-10-03  5:23 ` SeongJae Park
  2020-10-03  5:50   ` John Hubbard
  2020-10-06 20:34 ` John Hubbard
  1 sibling, 1 reply; 4+ messages in thread
From: SeongJae Park @ 2020-10-03  5:23 UTC (permalink / raw)
  To: John Hubbard
  Cc: Andrew Morton, Shuah Khan, LKML, linux-mm, linux-kselftest,
	Ralph Campbell

On Fri, 2 Oct 2020 18:17:21 -0700 John Hubbard <jhubbard@nvidia.com> wrote:

> This patch reduces the running time for hmm-tests from about 10+
> seconds, to just under 1.0 second, for an approximately 10x speedup.
> That brings it in line with most of the other tests in selftests/vm,
> which mostly run in < 1 sec.
> 
> This is done with a one-line change that simply reduces the number of
> iterations of several tests, from 256, to 10.

Could this result in reduced test capacity?  If so, how about making the number
easily tweakable?


Thanks,
SeongJae Park

> Thanks to Ralph Campbell for suggesting changing NTIMES as a way to get the
> speedup.
> 
> Suggested-by: Ralph Campbell <rcampbell@nvidia.com>
> Signed-off-by: John Hubbard <jhubbard@nvidia.com>
> ---
> 
> This is based on mmotm.
> 
>  tools/testing/selftests/vm/hmm-tests.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/tools/testing/selftests/vm/hmm-tests.c b/tools/testing/selftests/vm/hmm-tests.c
> index 6b79723d7dc6..5d1ac691b9f4 100644
> --- a/tools/testing/selftests/vm/hmm-tests.c
> +++ b/tools/testing/selftests/vm/hmm-tests.c
> @@ -49,7 +49,7 @@ struct hmm_buffer {
>  #define TWOMEG		(1 << 21)
>  #define HMM_BUFFER_SIZE (1024 << 12)
>  #define HMM_PATH_MAX    64
> -#define NTIMES		256
> +#define NTIMES		10
>  
>  #define ALIGN(x, a) (((x) + (a - 1)) & (~((a) - 1)))
>  
> -- 
> 2.28.0

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] selftests/vm: 10x speedup for hmm-tests
  2020-10-03  5:23 ` SeongJae Park
@ 2020-10-03  5:50   ` John Hubbard
  0 siblings, 0 replies; 4+ messages in thread
From: John Hubbard @ 2020-10-03  5:50 UTC (permalink / raw)
  To: SeongJae Park
  Cc: Andrew Morton, Shuah Khan, LKML, linux-mm, linux-kselftest,
	Ralph Campbell

On 10/2/20 10:23 PM, SeongJae Park wrote:
> On Fri, 2 Oct 2020 18:17:21 -0700 John Hubbard <jhubbard@nvidia.com> wrote:
> 
>> This patch reduces the running time for hmm-tests from about 10+
>> seconds, to just under 1.0 second, for an approximately 10x speedup.
>> That brings it in line with most of the other tests in selftests/vm,
>> which mostly run in < 1 sec.
>>
>> This is done with a one-line change that simply reduces the number of
>> iterations of several tests, from 256, to 10.
> 
> Could this result in reduced test capacity?  If so, how about making the number
> easily tweakable?
> 

The choice of iterations was somewhat arbitrary. Unless and until we
have specific bugs that show up at a given number of iterations, we
should avoid running large iteration counts that blow the testing time
budget. Here, I'm not aware of any bugs that show up between 11 and 256
iterations, which is why I think 10 is an acceptable iteration count.

But, you are right: it's a nice thought to make the iteration count
adjustable via the command line. That would allow hmm-tests to act as a
quick selftest item, and also to provide a little bit more of a stress
test, when manually invoked with a higher iteration count.

That's a separate patch, though. Because TEST_F() and related unit test
macros used in this area, expect to run the same way every time, and
they don't really want to be fed iteration arguments. Or maybe they do,
and I've missed it on my first quick pass through.

And in fact, maybe it's not a good fit, if TEST_F() and kselftest are
pushing for more of a CUnit/gtest style of coding.

There are some design and policy questions there. It reminds me that
some programs here don't use TEST_F() at all, actually. But anyway, I'd
definitely like to sidestep all of that for now, and start with just
"get the test run time down under 1 second".

thanks,
--
John Hubbard
NVIDIA

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] selftests/vm: 10x speedup for hmm-tests
  2020-10-03  1:17 [PATCH] selftests/vm: 10x speedup for hmm-tests John Hubbard
  2020-10-03  5:23 ` SeongJae Park
@ 2020-10-06 20:34 ` John Hubbard
  1 sibling, 0 replies; 4+ messages in thread
From: John Hubbard @ 2020-10-06 20:34 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Shuah Khan, LKML, linux-mm, linux-kselftest, Ralph Campbell

On 10/2/20 6:17 PM, John Hubbard wrote:
> This patch reduces the running time for hmm-tests from about 10+
> seconds, to just under 1.0 second, for an approximately 10x speedup.
> That brings it in line with most of the other tests in selftests/vm,
> which mostly run in < 1 sec.
> 
> This is done with a one-line change that simply reduces the number of
> iterations of several tests, from 256, to 10. Thanks to Ralph Campbell
> for suggesting changing NTIMES as a way to get the speedup.
> 
> Suggested-by: Ralph Campbell <rcampbell@nvidia.com>
> Signed-off-by: John Hubbard <jhubbard@nvidia.com>
> ---

Andrew, do you think we can get this one merged into mmotm? I think it's
pretty low risk.


thanks,
-- 
John Hubbard
NVIDIA

> 
> This is based on mmotm.
> 
>   tools/testing/selftests/vm/hmm-tests.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/tools/testing/selftests/vm/hmm-tests.c b/tools/testing/selftests/vm/hmm-tests.c
> index 6b79723d7dc6..5d1ac691b9f4 100644
> --- a/tools/testing/selftests/vm/hmm-tests.c
> +++ b/tools/testing/selftests/vm/hmm-tests.c
> @@ -49,7 +49,7 @@ struct hmm_buffer {
>   #define TWOMEG		(1 << 21)
>   #define HMM_BUFFER_SIZE (1024 << 12)
>   #define HMM_PATH_MAX    64
> -#define NTIMES		256
> +#define NTIMES		10
>   
>   #define ALIGN(x, a) (((x) + (a - 1)) & (~((a) - 1)))
>   
> 


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2020-10-06 20:34 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-10-03  1:17 [PATCH] selftests/vm: 10x speedup for hmm-tests John Hubbard
2020-10-03  5:23 ` SeongJae Park
2020-10-03  5:50   ` John Hubbard
2020-10-06 20:34 ` John Hubbard

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).