Silence miner debugmsg spam

Don't try to allocate the dataset repeatedly if it has already failed.
This commit is contained in:
Howard Chu 2019-12-08 02:45:49 +00:00
parent 411f1b0ee3
commit c361303184
No known key found for this signature in database
GPG Key ID: FD2A70B44AB11BA7

View File

@ -62,6 +62,7 @@ static CTHR_MUTEX_TYPE rx_dataset_mutex = CTHR_MUTEX_INIT;
static rx_state rx_s[2] = {{CTHR_MUTEX_INIT,{0},0,0},{CTHR_MUTEX_INIT,{0},0,0}}; static rx_state rx_s[2] = {{CTHR_MUTEX_INIT,{0},0,0},{CTHR_MUTEX_INIT,{0},0,0}};
static randomx_dataset *rx_dataset; static randomx_dataset *rx_dataset;
static int rx_dataset_nomem;
static uint64_t rx_dataset_height; static uint64_t rx_dataset_height;
static THREADV randomx_vm *rx_vm = NULL; static THREADV randomx_vm *rx_vm = NULL;
@ -246,20 +247,25 @@ void rx_slow_hash(const uint64_t mainheight, const uint64_t seedheight, const ch
} }
if (miners) { if (miners) {
CTHR_MUTEX_LOCK(rx_dataset_mutex); CTHR_MUTEX_LOCK(rx_dataset_mutex);
if (rx_dataset == NULL) { if (!rx_dataset_nomem) {
rx_dataset = randomx_alloc_dataset(RANDOMX_FLAG_LARGE_PAGES);
if (rx_dataset == NULL) { if (rx_dataset == NULL) {
mdebug(RX_LOGCAT, "Couldn't use largePages for RandomX dataset"); rx_dataset = randomx_alloc_dataset(RANDOMX_FLAG_LARGE_PAGES);
rx_dataset = randomx_alloc_dataset(RANDOMX_FLAG_DEFAULT); if (rx_dataset == NULL) {
mdebug(RX_LOGCAT, "Couldn't use largePages for RandomX dataset");
rx_dataset = randomx_alloc_dataset(RANDOMX_FLAG_DEFAULT);
}
if (rx_dataset != NULL)
rx_initdata(rx_sp->rs_cache, miners, seedheight);
} }
if (rx_dataset != NULL)
rx_initdata(rx_sp->rs_cache, miners, seedheight);
} }
if (rx_dataset != NULL) if (rx_dataset != NULL)
flags |= RANDOMX_FLAG_FULL_MEM; flags |= RANDOMX_FLAG_FULL_MEM;
else { else {
miners = 0; miners = 0;
mwarning(RX_LOGCAT, "Couldn't allocate RandomX dataset for miner"); if (!rx_dataset_nomem) {
rx_dataset_nomem = 1;
mwarning(RX_LOGCAT, "Couldn't allocate RandomX dataset for miner");
}
} }
CTHR_MUTEX_UNLOCK(rx_dataset_mutex); CTHR_MUTEX_UNLOCK(rx_dataset_mutex);
} }
@ -309,5 +315,6 @@ void rx_stop_mining(void) {
rx_dataset = NULL; rx_dataset = NULL;
randomx_release_dataset(rd); randomx_release_dataset(rd);
} }
rx_dataset_nomem = 0;
CTHR_MUTEX_UNLOCK(rx_dataset_mutex); CTHR_MUTEX_UNLOCK(rx_dataset_mutex);
} }