Added a note about smart mining to status command. Fixed up a bug where I was resetting bg mining enabled instead of started. Upped the miner threshold. Also moved setting of enabled on start above miner thread creation since starting with true, then stopping, then starting with false resulted in race condition.
This commit is contained in:
parent
e4dfd2fb63
commit
ad95e65028
|
@ -277,7 +277,8 @@ namespace cryptonote
|
||||||
|
|
||||||
boost::interprocess::ipcdetail::atomic_write32(&m_stop, 0);
|
boost::interprocess::ipcdetail::atomic_write32(&m_stop, 0);
|
||||||
boost::interprocess::ipcdetail::atomic_write32(&m_thread_index, 0);
|
boost::interprocess::ipcdetail::atomic_write32(&m_thread_index, 0);
|
||||||
|
set_is_background_mining_enabled(do_background);
|
||||||
|
|
||||||
for(size_t i = 0; i != threads_count; i++)
|
for(size_t i = 0; i != threads_count; i++)
|
||||||
{
|
{
|
||||||
m_threads.push_back(boost::thread(attrs, boost::bind(&miner::worker_thread, this)));
|
m_threads.push_back(boost::thread(attrs, boost::bind(&miner::worker_thread, this)));
|
||||||
|
@ -285,7 +286,6 @@ namespace cryptonote
|
||||||
|
|
||||||
LOG_PRINT_L0("Mining has started with " << threads_count << " threads, good luck!" );
|
LOG_PRINT_L0("Mining has started with " << threads_count << " threads, good luck!" );
|
||||||
|
|
||||||
set_is_background_mining_enabled(do_background);
|
|
||||||
if( get_is_background_mining_enabled() )
|
if( get_is_background_mining_enabled() )
|
||||||
{
|
{
|
||||||
m_background_mining_thread = boost::thread(attrs, boost::bind(&miner::background_worker_thread, this));
|
m_background_mining_thread = boost::thread(attrs, boost::bind(&miner::background_worker_thread, this));
|
||||||
|
@ -526,7 +526,7 @@ namespace cryptonote
|
||||||
uint64_t prev_total_time, current_total_time;
|
uint64_t prev_total_time, current_total_time;
|
||||||
uint64_t prev_idle_time, current_idle_time;
|
uint64_t prev_idle_time, current_idle_time;
|
||||||
uint64_t previous_process_time = 0, current_process_time = 0;
|
uint64_t previous_process_time = 0, current_process_time = 0;
|
||||||
m_is_background_mining_enabled = false;
|
m_is_background_mining_started = false;
|
||||||
|
|
||||||
if(!get_system_times(prev_total_time, prev_idle_time))
|
if(!get_system_times(prev_total_time, prev_idle_time))
|
||||||
{
|
{
|
||||||
|
|
|
@ -95,7 +95,7 @@ namespace cryptonote
|
||||||
static constexpr uint16_t BACKGROUND_MINING_DEFAULT_MIN_IDLE_INTERVAL_IN_SECONDS = 10;
|
static constexpr uint16_t BACKGROUND_MINING_DEFAULT_MIN_IDLE_INTERVAL_IN_SECONDS = 10;
|
||||||
static constexpr uint16_t BACKGROUND_MINING_MIN_MIN_IDLE_INTERVAL_IN_SECONDS = 10;
|
static constexpr uint16_t BACKGROUND_MINING_MIN_MIN_IDLE_INTERVAL_IN_SECONDS = 10;
|
||||||
static constexpr uint16_t BACKGROUND_MINING_MAX_MIN_IDLE_INTERVAL_IN_SECONDS = 3600;
|
static constexpr uint16_t BACKGROUND_MINING_MAX_MIN_IDLE_INTERVAL_IN_SECONDS = 3600;
|
||||||
static constexpr uint8_t BACKGROUND_MINING_DEFAULT_MINING_TARGET_PERCENTAGE = 20;
|
static constexpr uint8_t BACKGROUND_MINING_DEFAULT_MINING_TARGET_PERCENTAGE = 40;
|
||||||
static constexpr uint8_t BACKGROUND_MINING_MIN_MINING_TARGET_PERCENTAGE = 5;
|
static constexpr uint8_t BACKGROUND_MINING_MIN_MINING_TARGET_PERCENTAGE = 5;
|
||||||
static constexpr uint8_t BACKGROUND_MINING_MAX_MINING_TARGET_PERCENTAGE = 50;
|
static constexpr uint8_t BACKGROUND_MINING_MAX_MINING_TARGET_PERCENTAGE = 50;
|
||||||
static constexpr uint8_t BACKGROUND_MINING_MINER_MONITOR_INVERVAL_IN_SECONDS = 10;
|
static constexpr uint8_t BACKGROUND_MINING_MINER_MONITOR_INVERVAL_IN_SECONDS = 10;
|
||||||
|
|
|
@ -377,7 +377,7 @@ bool t_rpc_command_executor::show_status() {
|
||||||
% (unsigned long long)(ires.target_height >= ires.height ? ires.target_height : ires.height)
|
% (unsigned long long)(ires.target_height >= ires.height ? ires.target_height : ires.height)
|
||||||
% get_sync_percentage(ires)
|
% get_sync_percentage(ires)
|
||||||
% (ires.testnet ? "testnet" : "mainnet")
|
% (ires.testnet ? "testnet" : "mainnet")
|
||||||
% (mining_busy ? "syncing" : mres.active ? "mining at " + get_mining_speed(mres.speed) : "not mining")
|
% (mining_busy ? "syncing" : mres.active ? ( ( mres.is_background_mining_enabled ? "smart " : "" ) + std::string("mining at ") + get_mining_speed(mres.speed) ) : "not mining")
|
||||||
% get_mining_speed(ires.difficulty / ires.target)
|
% get_mining_speed(ires.difficulty / ires.target)
|
||||||
% (unsigned)hfres.version
|
% (unsigned)hfres.version
|
||||||
% get_fork_extra_info(hfres.earliest_height, ires.height, ires.target)
|
% get_fork_extra_info(hfres.earliest_height, ires.height, ires.target)
|
||||||
|
|
|
@ -663,6 +663,7 @@ namespace cryptonote
|
||||||
|
|
||||||
const miner& lMiner = m_core.get_miner();
|
const miner& lMiner = m_core.get_miner();
|
||||||
res.active = lMiner.is_mining();
|
res.active = lMiner.is_mining();
|
||||||
|
res.is_background_mining_enabled = lMiner.get_is_background_mining_enabled();
|
||||||
|
|
||||||
if ( lMiner.is_mining() ) {
|
if ( lMiner.is_mining() ) {
|
||||||
res.speed = lMiner.get_speed();
|
res.speed = lMiner.get_speed();
|
||||||
|
|
|
@ -610,6 +610,7 @@ namespace cryptonote
|
||||||
uint64_t speed;
|
uint64_t speed;
|
||||||
uint32_t threads_count;
|
uint32_t threads_count;
|
||||||
std::string address;
|
std::string address;
|
||||||
|
bool is_background_mining_enabled;
|
||||||
|
|
||||||
BEGIN_KV_SERIALIZE_MAP()
|
BEGIN_KV_SERIALIZE_MAP()
|
||||||
KV_SERIALIZE(status)
|
KV_SERIALIZE(status)
|
||||||
|
@ -617,6 +618,7 @@ namespace cryptonote
|
||||||
KV_SERIALIZE(speed)
|
KV_SERIALIZE(speed)
|
||||||
KV_SERIALIZE(threads_count)
|
KV_SERIALIZE(threads_count)
|
||||||
KV_SERIALIZE(address)
|
KV_SERIALIZE(address)
|
||||||
|
KV_SERIALIZE(is_background_mining_enabled)
|
||||||
END_KV_SERIALIZE_MAP()
|
END_KV_SERIALIZE_MAP()
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue