All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dong Zhu <bluezhudong@gmail.com>
To: ltp@lists.linux.it
Subject: [LTP] [PATCH] dma_thread_diotest: Correct the number of running workers
Date: Thu, 2 Jun 2016 21:58:31 +0800	[thread overview]
Message-ID: <20160602135831.GA31858@localhost.localdomain> (raw)

This test will cause Segmentation fault (core dumped) in a
system with 20 CPUs and memory PAGESIZE is 64KB.
Because for a 1MB buffer which could admit 1MB/PAGESIZE
workers at most.

So the purpose of this patch is correcting the number
of running workers in terms of actual PAGESIZE.

Signed-off-by: Dong Zhu <bluezhudong@gmail.com>
---
 testcases/kernel/io/direct_io/dma_thread_diotest.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/testcases/kernel/io/direct_io/dma_thread_diotest.c b/testcases/kernel/io/direct_io/dma_thread_diotest.c
index 39cf658..5f52dcc 100644
--- a/testcases/kernel/io/direct_io/dma_thread_diotest.c
+++ b/testcases/kernel/io/direct_io/dma_thread_diotest.c
@@ -113,10 +113,10 @@
 #define DIR_MODE	(S_IRUSR|S_IWUSR|S_IXUSR|S_IRGRP| \
 			 S_IXGRP|S_IROTH|S_IXOTH)
 #define FILECOUNT	100
-#define MIN_WORKERS	2
-#define MAX_WORKERS	256
 #define PATTERN		(0xfa)
 #define PAGE_SIZE	getpagesize()
+#define MIN_WORKERS	2
+#define MAX_WORKERS	(READSIZE/PAGE_SIZE)
 
 char *TCID = "dma_thread_diotest";
 int TST_TOTAL = 1;
@@ -229,6 +229,8 @@ int main(int argc, char *argv[])
 	int i, lc;
 
 	workers = sysconf(_SC_NPROCESSORS_ONLN);
+	if (workers > MAX_WORKERS)
+		workers = MAX_WORKERS;
 	tst_parse_opts(argc, argv, options, help);
 
 	setup();
@@ -439,6 +441,6 @@ static void cleanup(void)
 static void help(void)
 {
 	printf("-a align read buffer to offset <alignment>.\n");
-	printf("-w number of worker threads, 2 (default) to 256,"
-	       " defaults to number of cores.\n");
+	printf("-w number of worker threads, 2 (default) to %d,"
+	       " defaults to number of cores.\n", MAX_WORKERS);
 }
-- 
2.1.0


-- 
Best Regards,
Dong Zhu

             reply	other threads:[~2016-06-02 13:58 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-02 13:58 Dong Zhu [this message]
2016-06-03  9:24 ` [LTP] [PATCH] dma_thread_diotest: Correct the number of running workers Jan Stancek

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=20160602135831.GA31858@localhost.localdomain \
    --to=bluezhudong@gmail.com \
    --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.