diff options
author | Christian Grothoff <christian@grothoff.org> | 2020-11-22 22:31:07 +0100 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2020-11-22 22:31:07 +0100 |
commit | cbba3d5f292517c72b6c20299d9c023ba7a4c344 (patch) | |
tree | 0ee4945a439ed538d667197a4daa1057529af139 | |
parent | 171391057d82c6483ea40d589e2bf89a2064a125 (diff) |
make parallelism configurable
-rw-r--r-- | src/util/taler-helper-crypto-rsa.c | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/src/util/taler-helper-crypto-rsa.c b/src/util/taler-helper-crypto-rsa.c index abd8014fd..b8f959ee3 100644 --- a/src/util/taler-helper-crypto-rsa.c +++ b/src/util/taler-helper-crypto-rsa.c @@ -246,6 +246,13 @@ struct WorkItem static int global_ret; /** + * Number of worker threads to use. Default (0) is to use one per CPU core + * available. + * Length of the #workers array. + */ +static unsigned int num_workers; + +/** * Time when the key update is executed. * Either the actual current time, or a pretended time. */ @@ -386,11 +393,6 @@ static volatile bool in_shutdown; */ static pthread_t *workers; -/** - * Length of the #workers array. - */ -static unsigned int num_workers; - /** * Main function of a worker thread that signs. @@ -1879,7 +1881,8 @@ run (void *cls, NULL); /* start crypto workers */ - num_workers = 1; // for now... + if (0 == num_workers) + num_workers = sysconf (_SC_NPROCESSORS_CONF); workers = GNUNET_new_array (num_workers, pthread_t); for (unsigned int i = 0; i<num_workers; i++) @@ -1905,6 +1908,11 @@ main (int argc, struct GNUNET_GETOPT_CommandLineOption options[] = { GNUNET_GETOPT_option_timetravel ('T', "timetravel"), + GNUNET_GETOPT_option_uint ('p', + "parallelism", + "NUM_WORKERS", + "number of worker threads to use", + &num_workers), GNUNET_GETOPT_option_absolute_time ('t', "time", "TIMESTAMP", |