mirror of
https://github.com/xmrig/xmrig.git
synced 2025-12-06 23:52:38 -05:00
Compare commits
4 Commits
9e804278f1
...
57f8b51d2f
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
57f8b51d2f | ||
|
|
36fdfa2694 | ||
|
|
6cfc02d24f | ||
|
|
ead82cdba9 |
@@ -180,11 +180,11 @@ public:
|
||||
}
|
||||
# endif
|
||||
|
||||
mutex.lock();
|
||||
{
|
||||
std::lock_guard<std::mutex> lock(mutex);
|
||||
|
||||
pages += status.hugePages();
|
||||
|
||||
mutex.unlock();
|
||||
pages += status.hugePages();
|
||||
}
|
||||
|
||||
rapidjson::Value hugepages;
|
||||
|
||||
@@ -380,14 +380,14 @@ void xmrig::CpuBackend::setJob(const Job &job)
|
||||
|
||||
void xmrig::CpuBackend::start(IWorker *worker, bool ready)
|
||||
{
|
||||
mutex.lock();
|
||||
{
|
||||
std::lock_guard<std::mutex> lock(mutex);
|
||||
|
||||
if (d_ptr->status.started(worker, ready)) {
|
||||
d_ptr->status.print();
|
||||
if (d_ptr->status.started(worker, ready)) {
|
||||
d_ptr->status.print();
|
||||
}
|
||||
}
|
||||
|
||||
mutex.unlock();
|
||||
|
||||
if (ready) {
|
||||
worker->start();
|
||||
}
|
||||
|
||||
@@ -320,8 +320,13 @@ void xmrig::HwlocCpuInfo::processTopLevelCache(hwloc_obj_t cache, const Algorith
|
||||
L2 += l2->attr->cache.size;
|
||||
L2_associativity = l2->attr->cache.associativity;
|
||||
|
||||
if (L3_exclusive && l2->attr->cache.size >= scratchpad) {
|
||||
extra += scratchpad;
|
||||
if (L3_exclusive) {
|
||||
if (vendor() == VENDOR_AMD) {
|
||||
extra += std::min<size_t>(l2->attr->cache.size, scratchpad);
|
||||
}
|
||||
else if (l2->attr->cache.size >= scratchpad) {
|
||||
extra += scratchpad;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -465,16 +465,17 @@ void xmrig::CudaBackend::setJob(const Job &job)
|
||||
|
||||
void xmrig::CudaBackend::start(IWorker *worker, bool ready)
|
||||
{
|
||||
mutex.lock();
|
||||
{
|
||||
std::lock_guard<std::mutex> lock(mutex);
|
||||
|
||||
if (d_ptr->status.started(ready)) {
|
||||
d_ptr->status.print();
|
||||
if (d_ptr->status.started(ready)) {
|
||||
d_ptr->status.print();
|
||||
|
||||
CudaWorker::ready = true;
|
||||
}
|
||||
|
||||
CudaWorker::ready = true;
|
||||
}
|
||||
|
||||
mutex.unlock();
|
||||
|
||||
if (ready) {
|
||||
worker->start();
|
||||
}
|
||||
|
||||
@@ -447,16 +447,16 @@ void xmrig::OclBackend::setJob(const Job &job)
|
||||
|
||||
void xmrig::OclBackend::start(IWorker *worker, bool ready)
|
||||
{
|
||||
mutex.lock();
|
||||
{
|
||||
std::lock_guard<std::mutex> lock(mutex);
|
||||
|
||||
if (d_ptr->status.started(ready)) {
|
||||
d_ptr->status.print();
|
||||
if (d_ptr->status.started(ready)) {
|
||||
d_ptr->status.print();
|
||||
|
||||
OclWorker::ready = true;
|
||||
OclWorker::ready = true;
|
||||
}
|
||||
}
|
||||
|
||||
mutex.unlock();
|
||||
|
||||
if (ready) {
|
||||
worker->start();
|
||||
}
|
||||
|
||||
@@ -569,7 +569,14 @@ void xmrig::Miner::setJob(const Job &job, bool donate)
|
||||
|
||||
d_ptr->algorithm = job.algorithm();
|
||||
|
||||
mutex.lock();
|
||||
# ifdef XMRIG_ALGO_RANDOMX
|
||||
bool ready = false;
|
||||
# else
|
||||
constexpr const bool ready = true;
|
||||
# endif
|
||||
|
||||
{
|
||||
std::lock_guard<std::mutex> lock(mutex);
|
||||
|
||||
const uint8_t index = donate ? 1 : 0;
|
||||
|
||||
@@ -588,14 +595,12 @@ void xmrig::Miner::setJob(const Job &job, bool donate)
|
||||
}
|
||||
|
||||
# ifdef XMRIG_ALGO_RANDOMX
|
||||
const bool ready = d_ptr->initRX();
|
||||
ready = d_ptr->initRX();
|
||||
|
||||
// Always reset nonce on RandomX dataset change
|
||||
if (!ready) {
|
||||
d_ptr->reset = true;
|
||||
}
|
||||
# else
|
||||
constexpr const bool ready = true;
|
||||
# endif
|
||||
|
||||
# ifdef XMRIG_ALGO_GHOSTRIDER
|
||||
@@ -604,7 +609,7 @@ void xmrig::Miner::setJob(const Job &job, bool donate)
|
||||
}
|
||||
# endif
|
||||
|
||||
mutex.unlock();
|
||||
}
|
||||
|
||||
d_ptr->active = true;
|
||||
d_ptr->m_taskbar.setActive(true);
|
||||
|
||||
Reference in New Issue
Block a user