Browse Source

Do away with queueing work separately at the start and let each thread grab its own work as soon as it's ready.

Con Kolivas 14 years ago
parent
commit
82698fbffd
1 changed files with 2 additions and 10 deletions
  1. 2 10
      main.c

+ 2 - 10
main.c

@@ -2509,7 +2509,7 @@ static void *miner_thread(void *userdata)
 	/* Try to cycle approximately 5 times before each log update */
 	/* Try to cycle approximately 5 times before each log update */
 	const unsigned long cycle = opt_log_interval / 5 ? : 1;
 	const unsigned long cycle = opt_log_interval / 5 ? : 1;
 	int request_interval;
 	int request_interval;
-	bool requested = true;
+	bool requested = false;
 	uint32_t hash_div = 1;
 	uint32_t hash_div = 1;
 	double hash_divfloat = 1.0;
 	double hash_divfloat = 1.0;
 
 
@@ -2815,7 +2815,7 @@ static void *gpuminer_thread(void *userdata)
 	/* Request the next work item at 2/3 of the scantime */
 	/* Request the next work item at 2/3 of the scantime */
 	unsigned const int request_interval = opt_scantime * 2 / 3 ? : 1;
 	unsigned const int request_interval = opt_scantime * 2 / 3 ? : 1;
 	unsigned const long request_nonce = MAXTHREADS / 3 * 2;
 	unsigned const long request_nonce = MAXTHREADS / 3 * 2;
-	bool requested = true;
+	bool requested = false;
 	uint32_t total_hashes = 0, hash_div = 1;
 	uint32_t total_hashes = 0, hash_div = 1;
 
 
 	switch (chosen_kernel) {
 	switch (chosen_kernel) {
@@ -3840,14 +3840,6 @@ int main (int argc, char *argv[])
 	if (thr_info_create(thr, NULL, watchdog_thread, NULL))
 	if (thr_info_create(thr, NULL, watchdog_thread, NULL))
 		quit(1, "wakeup thread create failed");
 		quit(1, "wakeup thread create failed");
 
 
-	/* Now that everything's ready put enough work in the queue */
-	for (i = 0; i < mining_threads; i++) {
-		if (unlikely(!queue_request()))
-			quit(1, "Failed to queue_request in main");
-		if (!opt_quiet && active_device(i))
-			print_status(i);
-	}
-
 	/* Create curses input thread for keyboard input */
 	/* Create curses input thread for keyboard input */
 	input_thr_id = mining_threads + 4;
 	input_thr_id = mining_threads + 4;
 	thr = &thr_info[input_thr_id];
 	thr = &thr_info[input_thr_id];