selftests/vm: only some gup_test items are really benchmarks
Therefore, some minor cleanup and improvements are in order: 1. Rename the other items appropriately. 2. Stop reporting timing information on the non-benchmark items. It's still being recorded and is available, but there's no point in cluttering up the report with data that no one reasonably needs to check. 3. Don't do iterations, for non-benchmark items. 4. Print out a shorter, more appropriate report for the non-benchmark tests. 5. Add the command that was run, to the report. This really helps, as there are quite a lot of options now. 6. Use a larger integer type for cmd, now that it's being compared Otherwise it doesn't work, because in this case cmd is about 3 billion, which is the perfect size for problems with signed vs unsigned int. Link: https://lkml.kernel.org/r/20201026064021.3545418-6-jhubbard@nvidia.com Signed-off-by: John Hubbard <jhubbard@nvidia.com> Cc: Jérôme Glisse <jglisse@redhat.com> Cc: Jonathan Corbet <corbet@lwn.net> Cc: Ralph Campbell <rcampbell@nvidia.com> Cc: Shuah Khan <shuah@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
f545605cc0
commit
a9bed1e1c2
4 changed files with 51 additions and 20 deletions
|
|
@ -13,13 +13,13 @@ static void put_back_pages(unsigned int cmd, struct page **pages,
|
|||
|
||||
switch (cmd) {
|
||||
case GUP_FAST_BENCHMARK:
|
||||
case GUP_BENCHMARK:
|
||||
case GUP_BASIC_TEST:
|
||||
for (i = 0; i < nr_pages; i++)
|
||||
put_page(pages[i]);
|
||||
break;
|
||||
|
||||
case PIN_FAST_BENCHMARK:
|
||||
case PIN_BENCHMARK:
|
||||
case PIN_BASIC_TEST:
|
||||
case PIN_LONGTERM_BENCHMARK:
|
||||
unpin_user_pages(pages, nr_pages);
|
||||
break;
|
||||
|
|
@ -34,7 +34,7 @@ static void verify_dma_pinned(unsigned int cmd, struct page **pages,
|
|||
|
||||
switch (cmd) {
|
||||
case PIN_FAST_BENCHMARK:
|
||||
case PIN_BENCHMARK:
|
||||
case PIN_BASIC_TEST:
|
||||
case PIN_LONGTERM_BENCHMARK:
|
||||
for (i = 0; i < nr_pages; i++) {
|
||||
page = pages[i];
|
||||
|
|
@ -94,7 +94,7 @@ static int __gup_test_ioctl(unsigned int cmd,
|
|||
nr = get_user_pages_fast(addr, nr, gup->flags,
|
||||
pages + i);
|
||||
break;
|
||||
case GUP_BENCHMARK:
|
||||
case GUP_BASIC_TEST:
|
||||
nr = get_user_pages(addr, nr, gup->flags, pages + i,
|
||||
NULL);
|
||||
break;
|
||||
|
|
@ -102,7 +102,7 @@ static int __gup_test_ioctl(unsigned int cmd,
|
|||
nr = pin_user_pages_fast(addr, nr, gup->flags,
|
||||
pages + i);
|
||||
break;
|
||||
case PIN_BENCHMARK:
|
||||
case PIN_BASIC_TEST:
|
||||
nr = pin_user_pages(addr, nr, gup->flags, pages + i,
|
||||
NULL);
|
||||
break;
|
||||
|
|
@ -157,10 +157,10 @@ static long gup_test_ioctl(struct file *filep, unsigned int cmd,
|
|||
|
||||
switch (cmd) {
|
||||
case GUP_FAST_BENCHMARK:
|
||||
case GUP_BENCHMARK:
|
||||
case PIN_FAST_BENCHMARK:
|
||||
case PIN_BENCHMARK:
|
||||
case PIN_LONGTERM_BENCHMARK:
|
||||
case GUP_BASIC_TEST:
|
||||
case PIN_BASIC_TEST:
|
||||
break;
|
||||
default:
|
||||
return -EINVAL;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue