*** empty log message ***

svn path=/trunk/boinc/; revision=12042
This commit is contained in:
David Anderson 2007-02-06 20:43:54 +00:00
parent 60b6f9ce47
commit c71b676c22
6 changed files with 78 additions and 24 deletions

View File

@ -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

View File

@ -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);

View File

@ -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;

View File

@ -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");

View File

@ -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;

View File

@ -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"