* [PATCH] Reduce thread stack size
@ 2010-08-01 15:01 Bart Van Assche
2010-08-01 19:33 ` Jens Axboe
0 siblings, 1 reply; 2+ messages in thread
From: Bart Van Assche @ 2010-08-01 15:01 UTC (permalink / raw)
To: fio, Jens Axboe
This patch reduces the stack size required by fio threads and hence allows
to run fio with 200 or more threads on systems with a moderate amount of
virtual memory.
Signed-off-by: Bart Van Assche <bart.vanassche@gmail.com>
diff --git a/fio.c b/fio.c
index 896f797..6ab0f4a 100644
--- a/fio.c
+++ b/fio.c
@@ -1380,9 +1380,13 @@ static void *gtod_thread_main(void *data)
static int fio_start_gtod_thread(void)
{
+ pthread_attr_t attr;
int ret;
- ret = pthread_create(>od_thread, NULL, gtod_thread_main, NULL);
+ pthread_attr_init(&attr);
+ pthread_attr_setstacksize(&attr, PTHREAD_STACK_MIN);
+ ret = pthread_create(>od_thread, &attr, gtod_thread_main, NULL);
+ pthread_attr_destroy(&attr);
if (ret) {
log_err("Can't create gtod thread: %s\n", strerror(ret));
return 1;
diff --git a/verify.c b/verify.c
index 42ea462..7957bd4 100644
--- a/verify.c
+++ b/verify.c
@@ -886,12 +886,16 @@ done:
int verify_async_init(struct thread_data *td)
{
int i, ret;
+ pthread_attr_t attr;
+
+ pthread_attr_init(&attr);
+ pthread_attr_setstacksize(&attr, PTHREAD_STACK_MIN);
td->verify_thread_exit = 0;
td->verify_threads = malloc(sizeof(pthread_t) * td->o.verify_async);
for (i = 0; i < td->o.verify_async; i++) {
- ret = pthread_create(&td->verify_threads[i], NULL,
+ ret = pthread_create(&td->verify_threads[i], &attr,
verify_async_thread, td);
if (ret) {
log_err("fio: async verify creation failed: %s\n",
@@ -907,6 +911,8 @@ int verify_async_init(struct thread_data *td)
td->nr_verify_threads++;
}
+ pthread_attr_destroy(&attr);
+
if (i != td->o.verify_async) {
log_err("fio: only %d verify threads started, exiting\n", i);
td->verify_thread_exit = 1;
^ permalink raw reply related [flat|nested] 2+ messages in thread* Re: [PATCH] Reduce thread stack size
2010-08-01 15:01 [PATCH] Reduce thread stack size Bart Van Assche
@ 2010-08-01 19:33 ` Jens Axboe
0 siblings, 0 replies; 2+ messages in thread
From: Jens Axboe @ 2010-08-01 19:33 UTC (permalink / raw)
To: Bart Van Assche; +Cc: fio@vger.kernel.org
On 08/01/2010 05:01 PM, Bart Van Assche wrote:
> This patch reduces the stack size required by fio threads and hence allows
> to run fio with 200 or more threads on systems with a moderate amount of
> virtual memory.
>
> Signed-off-by: Bart Van Assche <bart.vanassche@gmail.com>
>
Thanks, applied. From a quick look on the stack usage and what
the min pthread stack size is here (16K), only the blktrace load
looks problematic.
--
Jens Axboe
Confidentiality Notice: This e-mail message, its contents and any attachments to it are confidential to the intended recipient, and may contain information that is privileged and/or exempt from disclosure under applicable law. If you are not the intended recipient, please immediately notify the sender and destroy the original e-mail message and any attachments (and any copies that may have been made) from your system or otherwise. Any unauthorized use, copying, disclosure or distribution of this information is strictly prohibited.
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2010-08-01 19:33 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-08-01 15:01 [PATCH] Reduce thread stack size Bart Van Assche
2010-08-01 19:33 ` Jens Axboe
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox