- scheduler: in work_needed(), ignore requests for resource

types for which we have no app versions
- client: if too many <coproc> elements in cc_config.xml,
    detect it and inform user


svn path=/trunk/boinc/; revision=24144
This commit is contained in:
David Anderson 2011-09-08 18:55:55 +00:00
parent 3fe4507e37
commit 760c16eb03
6 changed files with 31 additions and 5 deletions

View File

@ -5709,3 +5709,19 @@ David 7 Sept 2011
app_start.cpp
cs_cmdline.cpp
app_control.cpp
David 8 Sept 2011
- scheduler: in work_needed(), ignore requests for resource
types for which we have no app versions
- client: if too many <coproc> elements in cc_config.xml,
detect it and inform user
sched/
sched_send.cpp
lib/
coproc.h
cc_config.cpp
samples/
client_state_save.xml
client/
log_flags.cpp

View File

@ -355,7 +355,15 @@ int CONFIG::parse_client(FILE* f) {
continue;
}
if (xp.match_tag("options")) {
parse_options(xp);
int retval = parse_options(xp);
if (retval) {
msg_printf_notice(NULL, false,
"http://boinc.berkeley.edu/manager_links.php?target=notice&controlid=config",
"%s: %s",
_("Error in cc_config.xml options"),
boincerror(retval)
);
}
continue;
}
if (xp.match_tag("options/")) continue;

View File

@ -298,6 +298,7 @@ int CONFIG::parse_options(XML_PARSER& xp) {
retval = c.parse(xp);
if (retval) return retval;
retval = config_coprocs.add(c);
if (retval) return retval;
continue;
}
if (xp.parse_str("data_dir", data_dir, sizeof(data_dir))) {

View File

@ -71,6 +71,7 @@
#endif
#include "miofile.h"
#include "error_numbers.h"
#include "parse.h"
#include "cal_boinc.h"
#include "cl_boinc.h"
@ -391,6 +392,7 @@ struct COPROCS {
return (ati.count > 0);
}
int add(COPROC& c) {
if (n_rsc >= MAX_RSC) return ERR_BUFFER_OVERFLOW;
coprocs[n_rsc++] = c;
return 0;
}

View File

@ -28,7 +28,6 @@
<file_info>
<name>output.txt</name>
<generated_locally/>
<upload_when_present/>
<max_nbytes>1e6</max_nbytes>
</file_info>

View File

@ -1055,13 +1055,13 @@ bool work_needed(bool locality_sched) {
}
#endif
if (g_wreq->rsc_spec_request) {
if (g_wreq->need_cpu()) {
if (g_wreq->need_cpu() && ssp->have_cpu_apps) {
return true;
}
if (g_wreq->need_cuda()) {
if (g_wreq->need_cuda() && ssp->have_cuda_apps) {
return true;
}
if (g_wreq->need_ati()) {
if (g_wreq->need_ati() && ssp->have_ati_apps) {
return true;
}
} else {