All of lore.kernel.org
 help / color / mirror / Atom feed
From: Rafael David Tinoco <rafael.tinoco@linaro.org>
To: ltp@lists.linux.it
Subject: [LTP] [PATCH] futex/futex_wake04.c: fix issues with hugepages and usleep
Date: Tue,  9 Oct 2018 18:06:02 -0300	[thread overview]
Message-ID: <20181009210602.23261-1-rafael.tinoco@linaro.org> (raw)
In-Reply-To: <6903290a-523f-7130-b64f-d1a73b601c38@linaro.org>

This commit fixes 2 observed issues:

1) usleep() time is too small if test is being executed in slower
terminal devices (specially embedded systems). Raising it to 0.001
seconds was enough to finish 10240 iterations in around 90 seconds in a
4 vcpu kvm guest (fully emulated serial being used as console).

2) Test was changing number of hugepages during setup()/cleanup() phase
despite the system had (or not) available hugepages. This was causing
overhead of destroying (or creating) hugepages during the test
execution.  Now, if system has > 0 hugepages available, the test doesn't
touch it.

Link: https://bugs.linaro.org/show_bug.cgi?id=3984
Signed-off-by: Rafael David Tinoco <rafael.tinoco@linaro.org>
---
 testcases/kernel/syscalls/futex/futex_wake04.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/testcases/kernel/syscalls/futex/futex_wake04.c b/testcases/kernel/syscalls/futex/futex_wake04.c
index 3c7038317..93d36ac33 100644
--- a/testcases/kernel/syscalls/futex/futex_wake04.c
+++ b/testcases/kernel/syscalls/futex/futex_wake04.c
@@ -76,14 +76,17 @@ static void setup(void)
 	tst_tmpdir();
 
 	SAFE_FILE_SCANF(NULL, PATH_NR_HUGEPAGES, "%ld", &orig_hugepages);
-	SAFE_FILE_PRINTF(NULL, PATH_NR_HUGEPAGES, "%d", 1);
+
+	if (!orig_hugepages)
+		SAFE_FILE_PRINTF(NULL, PATH_NR_HUGEPAGES, "%d", 1);
 
 	TEST_PAUSE;
 }
 
 static void cleanup(void)
 {
-	SAFE_FILE_PRINTF(NULL, PATH_NR_HUGEPAGES, "%ld", orig_hugepages);
+	if (!orig_hugepages)
+		SAFE_FILE_PRINTF(NULL, PATH_NR_HUGEPAGES, "%d", 0);
 
 	tst_rmdir();
 }
@@ -172,8 +175,9 @@ static void wakeup_thread2(void)
 				tst_strerrno(res));
 	}
 
+	/* 0.001 seconds: less might cause lockups for slower terminals */
 	while (wait_for_threads(2))
-		usleep(100);
+		usleep(1000);
 
 	futex_wake(futex2, 1, 0);
 
-- 
2.19.1


  reply	other threads:[~2018-10-09 21:06 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-10-08 13:21 [LTP] LTP: futex_wake04 hangs forever on i386 Naresh Kamboju
2018-10-08 13:30 ` Cyril Hrubis
2018-10-09  2:05   ` Rafael David Tinoco
2018-10-09  9:28     ` Cyril Hrubis
2018-10-09 11:45       ` Rafael David Tinoco
2018-10-09 18:49       ` Rafael David Tinoco
2018-10-09 21:06         ` Rafael David Tinoco [this message]
2018-10-10 10:43           ` [LTP] [PATCH] futex/futex_wake04.c: fix issues with hugepages and usleep Cyril Hrubis
2018-10-10 11:14             ` Rafael David Tinoco
2018-10-10 12:06               ` Cyril Hrubis
2018-10-10 11:41             ` [LTP] [PATCH v2 1/2] futex/futex_wake04.c: fix hugepages setup for test Rafael David Tinoco
2018-10-10 11:41               ` [LTP] [PATCH v2 2/2] futex/futex_wake04.c: raise delay waiting for threads Rafael David Tinoco
2018-10-10 14:20             ` [LTP] [PATCH] futex/futex_wake04.c: fix issues with hugepages and usleep Rafael David Tinoco
2018-10-11 12:23               ` Cyril Hrubis
2018-10-10 10:41         ` [LTP] LTP: futex_wake04 hangs forever on i386 Cyril Hrubis
2018-10-10 11:13           ` Rafael David Tinoco
2018-10-10 12:05             ` Cyril Hrubis
2018-10-10 12:15               ` Rafael David Tinoco
2018-10-10 12:33                 ` Cyril Hrubis
2018-10-10 12:48                   ` Rafael David Tinoco

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20181009210602.23261-1-rafael.tinoco@linaro.org \
    --to=rafael.tinoco@linaro.org \
    --cc=ltp@lists.linux.it \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.