- client: the checkin of 15 Oct related to multi-thread apps

didn't work due to a typo.
    - client: if <ncpus> is present in cc_config.xml,
        we're supposed to act as if there were that many physical CPUs.
        In particular, we need to set host_info.p_ncpus to that value,
        since that's what is reported in scheduler requests.

svn path=/trunk/boinc/; revision=19522
This commit is contained in:
David Anderson 2009-11-09 19:51:31 +00:00
parent c91114944d
commit 609872edf7
5 changed files with 22 additions and 8 deletions

View File

@ -8967,3 +8967,17 @@ David 6 Nov 2009
sysmon_win.cpp
lib/
url.cpp,h
David 9 Nov 2009
- client: the checkin of 15 Oct related to multi-thread apps
didn't work due to a typo.
- client: if <ncpus> is present in cc_config.xml,
we're supposed to act as if there were that many physical CPUs.
In particular, we need to set host_info.p_ncpus to that value,
since that's what is reported in scheduler requests.
client/
cpu_sched.cpp
cs_cmdline.cpp
cs_scheduler.cpp
sysmon_win.cpp

View File

@ -858,9 +858,13 @@ static void promote_multi_thread_jobs(vector<RESULT*>& runnable_jobs) {
if (first_non_mt != runnable_jobs.end()) {
cur = runnable_jobs.erase(cur);
runnable_jobs.insert(first_non_mt, rp);
cpus_used = 0;
first_non_mt = runnable_jobs.end();
cur = runnable_jobs.begin();
continue;
}
} else {
if (first_non_mt != runnable_jobs.end()) {
if (first_non_mt == runnable_jobs.end()) {
first_non_mt = cur;
}
}
@ -929,7 +933,7 @@ void CLIENT_STATE::append_unfinished_time_slice(
vector<RESULT*> &runnable_jobs
) {
unsigned int i;
int seqno = runnable_jobs.size();
int seqno = (int)runnable_jobs.size();
for (i=0; i<active_tasks.active_tasks.size(); i++) {
ACTIVE_TASK* atp = active_tasks.active_tasks[i];
@ -1667,6 +1671,7 @@ void CLIENT_STATE::set_ncpus() {
int ncpus_old = ncpus;
if (config.ncpus>=0) {
host_info.p_ncpus = config.ncpus;
ncpus = config.ncpus;
} else if (host_info.p_ncpus>0) {
ncpus = host_info.p_ncpus;

View File

@ -245,8 +245,6 @@ void CLIENT_STATE::parse_cmdline(int argc, char** argv) {
void CLIENT_STATE::parse_env_vars() {
char *p;
char temp[256];
int proto;
PARSED_URL purl;
p = getenv("HTTP_PROXY");

View File

@ -212,6 +212,7 @@ int CLIENT_STATE::make_scheduler_request(PROJECT* p) {
// update hardware info, and write host info
//
host_info.get_host_info();
set_ncpus();
retval = host_info.write(mf, config.suppress_net_info);
//if (retval) return retval;

View File

@ -189,10 +189,6 @@ static void windows_detect_autoproxy_settings() {
// Parse the remaining url
parse_url(proxy.c_str(), purl);
proxy_protocol,
proxy_server,
proxy_port,
proxy_file
// Store the results for future use.
gstate.proxy_info.autodetect_protocol = purl.protocol;