Browse Source

BFL add throttle count to internal stats + API

nfactor-troky
Kano 12 years ago
parent
commit
7a2407f15c
  1. 1
      API-README
  2. 1
      api.c
  3. 5
      driver-bitforce.c
  4. 3
      miner.h

1
API-README

@ -365,6 +365,7 @@ Modified API commands:
'devs' - add 'Diff1 Work' to all devices 'devs' - add 'Diff1 Work' to all devices
'gpu|N' - add 'Diff1 Work' 'gpu|N' - add 'Diff1 Work'
'pga|N' - add 'Diff1 Work' 'pga|N' - add 'Diff1 Work'
'notify' - add '*Dev Throttle' (for BFL Singles)
---------- ----------

1
api.c

@ -2561,6 +2561,7 @@ void notifystatus(int device, struct cgpu_info *cgpu, bool isjson, __maybe_unuse
root = api_add_int(root, "*Dev Over Heat", &(cgpu->dev_over_heat_count), false); root = api_add_int(root, "*Dev Over Heat", &(cgpu->dev_over_heat_count), false);
root = api_add_int(root, "*Dev Thermal Cutoff", &(cgpu->dev_thermal_cutoff_count), false); root = api_add_int(root, "*Dev Thermal Cutoff", &(cgpu->dev_thermal_cutoff_count), false);
root = api_add_int(root, "*Dev Comms Error", &(cgpu->dev_comms_error_count), false); root = api_add_int(root, "*Dev Comms Error", &(cgpu->dev_comms_error_count), false);
root = api_add_int(root, "*Dev Throttle", &(cgpu->dev_throttle_count), false);
if (isjson && (device > 0)) if (isjson && (device > 0))
strcat(io_buffer, COMMA); strcat(io_buffer, COMMA);

5
driver-bitforce.c

@ -386,10 +386,13 @@ static bool bitforce_get_temp(struct cgpu_info *bitforce)
* our responses are out of sync and flush the buffer to * our responses are out of sync and flush the buffer to
* hopefully recover */ * hopefully recover */
applog(LOG_WARNING, "BFL%i: Garbled response probably throttling, clearing buffer", bitforce->device_id); applog(LOG_WARNING, "BFL%i: Garbled response probably throttling, clearing buffer", bitforce->device_id);
bitforce->device_last_not_well = time(NULL);
bitforce->device_not_well_reason = REASON_DEV_THROTTLE;
bitforce->dev_throttle_count++;
/* Count throttling episodes as hardware errors */ /* Count throttling episodes as hardware errors */
bitforce->hw_errors++; bitforce->hw_errors++;
bitforce_clear_buffer(bitforce); bitforce_clear_buffer(bitforce);
return false;; return false;
} }
return true; return true;

3
miner.h

@ -276,6 +276,7 @@ enum dev_reason {
REASON_DEV_OVER_HEAT, REASON_DEV_OVER_HEAT,
REASON_DEV_THERMAL_CUTOFF, REASON_DEV_THERMAL_CUTOFF,
REASON_DEV_COMMS_ERROR, REASON_DEV_COMMS_ERROR,
REASON_DEV_THROTTLE,
}; };
#define REASON_NONE "None" #define REASON_NONE "None"
@ -288,6 +289,7 @@ enum dev_reason {
#define REASON_DEV_OVER_HEAT_STR "Device over heated" #define REASON_DEV_OVER_HEAT_STR "Device over heated"
#define REASON_DEV_THERMAL_CUTOFF_STR "Device reached thermal cutoff" #define REASON_DEV_THERMAL_CUTOFF_STR "Device reached thermal cutoff"
#define REASON_DEV_COMMS_ERROR_STR "Device comms error" #define REASON_DEV_COMMS_ERROR_STR "Device comms error"
#define REASON_DEV_THROTTLE_STR "Device throttle"
#define REASON_UNKNOWN_STR "Unknown reason - code bug" #define REASON_UNKNOWN_STR "Unknown reason - code bug"
#define MIN_SEC_UNSET 99999999 #define MIN_SEC_UNSET 99999999
@ -412,6 +414,7 @@ struct cgpu_info {
int dev_over_heat_count; // It's a warning but worth knowing int dev_over_heat_count; // It's a warning but worth knowing
int dev_thermal_cutoff_count; int dev_thermal_cutoff_count;
int dev_comms_error_count; int dev_comms_error_count;
int dev_throttle_count;
struct cgminer_stats cgminer_stats; struct cgminer_stats cgminer_stats;
}; };

Loading…
Cancel
Save