mirror of
https://codeberg.org/anoncontributorxmr/monero.git
synced 2024-12-26 23:27:56 +00:00
Merge pull request #7084
06e6c8b
crypto: fix constant randomx exceptions in large page allocator (moneromooo-monero)
This commit is contained in:
commit
5a1c060632
1 changed files with 4 additions and 1 deletions
|
@ -63,6 +63,7 @@ static rx_state rx_s[2] = {{CTHR_MUTEX_INIT,{0},0,0},{CTHR_MUTEX_INIT,{0},0,0}};
|
|||
|
||||
static randomx_dataset *rx_dataset;
|
||||
static int rx_dataset_nomem;
|
||||
static int rx_dataset_nolp;
|
||||
static uint64_t rx_dataset_height;
|
||||
static THREADV randomx_vm *rx_vm = NULL;
|
||||
|
||||
|
@ -316,10 +317,11 @@ void rx_slow_hash(const uint64_t mainheight, const uint64_t seedheight, const ch
|
|||
}
|
||||
CTHR_MUTEX_UNLOCK(rx_dataset_mutex);
|
||||
}
|
||||
if (!(disabled_flags() & RANDOMX_FLAG_LARGE_PAGES)) {
|
||||
if (!(disabled_flags() & RANDOMX_FLAG_LARGE_PAGES) && !rx_dataset_nolp) {
|
||||
rx_vm = randomx_create_vm(flags | RANDOMX_FLAG_LARGE_PAGES, rx_sp->rs_cache, rx_dataset);
|
||||
if(rx_vm == NULL) { //large pages failed
|
||||
mdebug(RX_LOGCAT, "Couldn't use largePages for RandomX VM");
|
||||
rx_dataset_nolp = 1;
|
||||
}
|
||||
}
|
||||
if (rx_vm == NULL)
|
||||
|
@ -370,5 +372,6 @@ void rx_stop_mining(void) {
|
|||
randomx_release_dataset(rd);
|
||||
}
|
||||
rx_dataset_nomem = 0;
|
||||
rx_dataset_nolp = 0;
|
||||
CTHR_MUTEX_UNLOCK(rx_dataset_mutex);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue