mirror of https://github.com/BOINC/boinc.git
*** empty log message ***
svn path=/trunk/boinc/; revision=12042
This commit is contained in:
parent
60b6f9ce47
commit
c71b676c22
|
@ -1501,3 +1501,21 @@ David 4 Feb 2007
|
|||
|
||||
clientgui/
|
||||
ViewWorkGrid.cpp
|
||||
|
||||
David 6 Feb 2007
|
||||
- core client: when new version runs for the first time,
|
||||
do a network access to reference site.
|
||||
This will trigger personal firewall alerts,
|
||||
that otherwise might happen later when user is not there.
|
||||
|
||||
client/
|
||||
client_state.C
|
||||
|
||||
David 6 Feb 2007
|
||||
- core client: add messages to debug CPU benchmarks
|
||||
- changed name of debug flag from <measurement_debug> to <benchmark_debug>
|
||||
|
||||
client/
|
||||
client_state.C
|
||||
cs_benchmark.C
|
||||
log_flags.C,h
|
||||
|
|
|
@ -447,16 +447,8 @@ bool CLIENT_STATE::poll_slow_events() {
|
|||
}
|
||||
tasks_suspended = (suspend_reason != 0);
|
||||
|
||||
// if we're doing CPU benchmarks, don't do much else
|
||||
//
|
||||
if (suspend_reason & SUSPEND_REASON_BENCHMARKS) {
|
||||
cpu_benchmarks_poll();
|
||||
|
||||
// besides waiting for applications to become suspended
|
||||
//
|
||||
if (active_tasks.is_task_executing()) {
|
||||
POLL_ACTION(active_tasks, active_tasks.poll);
|
||||
}
|
||||
}
|
||||
|
||||
check_suspend_network(network_suspend_reason);
|
||||
|
|
|
@ -78,6 +78,7 @@
|
|||
#define FP_END 22
|
||||
#define INT_START 37
|
||||
#define INT_END 57
|
||||
#define OVERALL_END 60
|
||||
|
||||
#define BM_FP_INIT 0
|
||||
#define BM_FP 1
|
||||
|
@ -180,14 +181,15 @@ void CLIENT_STATE::start_cpu_benchmarks() {
|
|||
}
|
||||
|
||||
if (skip_cpu_benchmarks) {
|
||||
if (log_flags.measurement_debug) {
|
||||
if (log_flags.benchmark_debug) {
|
||||
msg_printf(0, MSG_INFO,
|
||||
"[measurement_debug] CLIENT_STATE::cpu_benchmarks(): Skipping CPU benchmarks"
|
||||
"[benchmark_debug] start_cpu_benchmarks(): Skipping CPU benchmarks"
|
||||
);
|
||||
}
|
||||
cpu_benchmarks_set_defaults();
|
||||
return;
|
||||
}
|
||||
msg_printf(NULL, MSG_INFO, "Running CPU benchmarks");
|
||||
|
||||
cpu_benchmarks_pending = false;
|
||||
|
||||
|
@ -199,9 +201,7 @@ void CLIENT_STATE::start_cpu_benchmarks() {
|
|||
if (benchmark_descs) {
|
||||
free(benchmark_descs);
|
||||
}
|
||||
benchmark_descs = (BENCHMARK_DESC*)calloc(
|
||||
ncpus, sizeof(BENCHMARK_DESC)
|
||||
);
|
||||
benchmark_descs = (BENCHMARK_DESC*)calloc(ncpus, sizeof(BENCHMARK_DESC));
|
||||
benchmarks_running = true;
|
||||
|
||||
for (i=0; i<ncpus; i++) {
|
||||
|
@ -296,12 +296,14 @@ void CLIENT_STATE::abort_cpu_benchmarks() {
|
|||
}
|
||||
}
|
||||
|
||||
// benchmark poll routine. Called every second
|
||||
//
|
||||
bool CLIENT_STATE::cpu_benchmarks_poll() {
|
||||
int i;
|
||||
static double last_time = 0;
|
||||
if (!benchmarks_running) return false;
|
||||
|
||||
if (now < last_time + 1) return false;
|
||||
last_time = now;
|
||||
|
||||
active_tasks.send_heartbeats();
|
||||
|
||||
// if active tasks don't quit after 10 sec, give up on benchmark
|
||||
|
@ -323,32 +325,57 @@ bool CLIENT_STATE::cpu_benchmarks_poll() {
|
|||
switch (bm_state) {
|
||||
case BM_FP_INIT:
|
||||
if (now - cpu_benchmarks_start > FP_START) {
|
||||
msg_printf(NULL, MSG_INFO, "Running CPU benchmarks");
|
||||
if (log_flags.benchmark_debug) {
|
||||
msg_printf(0, MSG_INFO,
|
||||
"[benchmark_debug] Starting floating-point benchmark"
|
||||
);
|
||||
}
|
||||
make_benchmark_file(BM_TYPE_FP);
|
||||
bm_state = BM_FP;
|
||||
}
|
||||
return false;
|
||||
case BM_FP:
|
||||
if (now - cpu_benchmarks_start > FP_END) {
|
||||
if (log_flags.benchmark_debug) {
|
||||
msg_printf(0, MSG_INFO,
|
||||
"[benchmark_debug] Ended floating-point benchmark"
|
||||
);
|
||||
}
|
||||
remove_benchmark_file(BM_TYPE_FP);
|
||||
bm_state = BM_INT_INIT;
|
||||
}
|
||||
return false;
|
||||
case BM_INT_INIT:
|
||||
if (now - cpu_benchmarks_start > INT_START) {
|
||||
if (log_flags.benchmark_debug) {
|
||||
msg_printf(0, MSG_INFO,
|
||||
"[benchmark_debug] Starting integer benchmark"
|
||||
);
|
||||
}
|
||||
make_benchmark_file(BM_TYPE_INT);
|
||||
bm_state = BM_INT;
|
||||
}
|
||||
return false;
|
||||
case BM_INT:
|
||||
if (now - cpu_benchmarks_start > INT_END) {
|
||||
if (log_flags.benchmark_debug) {
|
||||
msg_printf(0, MSG_INFO,
|
||||
"[benchmark_debug] Ended integer benchmark"
|
||||
);
|
||||
}
|
||||
remove_benchmark_file(BM_TYPE_INT);
|
||||
bm_state = BM_SLEEP;
|
||||
}
|
||||
return false;
|
||||
case BM_SLEEP:
|
||||
boinc_sleep(2.0);
|
||||
bm_state = BM_DONE;
|
||||
if (now - cpu_benchmarks_start > OVERALL_END) {
|
||||
if (log_flags.benchmark_debug) {
|
||||
msg_printf(0, MSG_INFO,
|
||||
"[benchmark_debug] Ended benchmark"
|
||||
);
|
||||
}
|
||||
bm_state = BM_DONE;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -371,10 +398,20 @@ bool CLIENT_STATE::cpu_benchmarks_poll() {
|
|||
check_benchmark(benchmark_descs[i]);
|
||||
}
|
||||
if (benchmark_descs[i].done) {
|
||||
ndone ++;
|
||||
if (log_flags.benchmark_debug) {
|
||||
msg_printf(0, MSG_INFO,
|
||||
"[benchmark_debug] CPU %d has finished", i
|
||||
);
|
||||
}
|
||||
ndone++;
|
||||
if (benchmark_descs[i].error) had_error = true;
|
||||
}
|
||||
}
|
||||
if (log_flags.benchmark_debug) {
|
||||
msg_printf(0, MSG_INFO,
|
||||
"[benchmark_debug] %d out of %d CPUs done", ndone, ncpus
|
||||
);
|
||||
}
|
||||
if (ndone == ncpus) {
|
||||
double old_p_fpops = host_info.p_fpops;
|
||||
if (had_error) {
|
||||
|
@ -386,6 +423,13 @@ bool CLIENT_STATE::cpu_benchmarks_poll() {
|
|||
double p_membw = 0;
|
||||
double m_cache = 0;
|
||||
for (i=0; i<ncpus; i++) {
|
||||
if (log_flags.benchmark_debug) {
|
||||
msg_printf(0, MSG_INFO,
|
||||
"[benchmark_debug] CPU %d: fp %f int %f",
|
||||
i, benchmark_descs[i].host_info.p_fpops,
|
||||
benchmark_descs[i].host_info.p_iops
|
||||
);
|
||||
}
|
||||
p_fpops += benchmark_descs[i].host_info.p_fpops;
|
||||
p_iops += benchmark_descs[i].host_info.p_iops;
|
||||
p_membw += benchmark_descs[i].host_info.p_membw;
|
||||
|
|
|
@ -83,7 +83,7 @@ int LOG_FLAGS::parse(XML_PARSER& xp) {
|
|||
else if (xp.parse_bool(tag, "proxy_debug", proxy_debug)) continue;
|
||||
else if (xp.parse_bool(tag, "time_debug", time_debug)) continue;
|
||||
else if (xp.parse_bool(tag, "http_xfer_debug", http_xfer_debug)) continue;
|
||||
else if (xp.parse_bool(tag, "measurement_debug", measurement_debug)) continue;
|
||||
else if (xp.parse_bool(tag, "benchmark_debug", benchmark_debug)) continue;
|
||||
else if (xp.parse_bool(tag, "poll_debug", poll_debug)) continue;
|
||||
else if (xp.parse_bool(tag, "guirpc_debug", guirpc_debug)) continue;
|
||||
else if (xp.parse_bool(tag, "scrsave_debug", scrsave_debug)) continue;
|
||||
|
@ -135,7 +135,7 @@ void LOG_FLAGS::show() {
|
|||
show_flag(buf, proxy_debug, "proxy_debug");
|
||||
show_flag(buf, time_debug, "time_debug");
|
||||
show_flag(buf, http_xfer_debug, "http_xfer_debug");
|
||||
show_flag(buf, measurement_debug, "measurement_debug");
|
||||
show_flag(buf, benchmark_debug, "benchmark_debug");
|
||||
show_flag(buf, poll_debug, "poll_debug");
|
||||
show_flag(buf, guirpc_debug, "guirpc_debug");
|
||||
show_flag(buf, scrsave_debug, "scrsave_debug");
|
||||
|
|
|
@ -60,7 +60,7 @@ struct LOG_FLAGS {
|
|||
bool proxy_debug;
|
||||
bool time_debug; // changes in on_frac, active_frac, connected_frac
|
||||
bool http_xfer_debug;
|
||||
bool measurement_debug; // host measurement notices
|
||||
bool benchmark_debug; // debug CPU benchmarks
|
||||
bool poll_debug; // show what polls are responding
|
||||
bool guirpc_debug;
|
||||
bool scrsave_debug;
|
||||
|
|
|
@ -113,8 +113,8 @@ list_item_func("<time_debug>",
|
|||
list_item_func("<http_xfer_debug>",
|
||||
"Debugging information about network communication"
|
||||
);
|
||||
list_item_func("<measurement_debug>",
|
||||
"Debugging information about CPU benchmarks, platform, disk space, etc. "
|
||||
list_item_func("<benchmark_debug>",
|
||||
"Debugging information about CPU benchmarks"
|
||||
);
|
||||
list_item_func("<poll_debug>",
|
||||
"Show what poll functions do"
|
||||
|
|
Loading…
Reference in New Issue