Commit Graph

5125 Commits

Author SHA1 Message Date
David Anderson 0022c9c5ad client: if project sends dont_use_dcf, set its DCF to 1 2013-06-17 21:53:48 -07:00
David Anderson 9c4925fbd2 client emulator: add the ability to include projects without apps 2013-06-17 14:27:25 -07:00
David Anderson 03e3b3b15b client: clear max_concurrent is app_config.xml no longer exists
If you had an app_config.xml that limited the # of concurrent tasks for an app,
and you delete it and do "reread config", then remove the limit.
2013-06-17 12:48:14 -07:00
David Anderson dddf586532 client: remove code that avoids overcommitting CPUs if MT jobs present.
This can lead to starving the CPUs if there are both GPU and MT jobs.
The basic problem is that a host with GPUs will never have all its CPUs
available for MT jobs.
It should probably advertise fewer CPUs, or something.
2013-06-17 08:48:05 -07:00
David Anderson 73b990b4b0 client: fix bug that sometimes prevented work fetch when GPU exclusions used 2013-06-16 20:10:17 -07:00
David Anderson af8ccfe8b8 client: fix bug that delayed work fetch from non-CPU-intensive projects
We were waiting until there was no task for the project
before asking for another task.
We should have been waiting until there was no in-progress task.
2013-06-15 11:10:44 -07:00
Charlie Fenton a5072a25d9 client: fill in HOST_INFO producet_name field for Macintosh.
This returns an Apple hardware model designation such as "MacPro3,1".  One source for converting this to a common model name is:
<http://www.everymac.com/systems/by_capability/mac-specs-by-machine-model-machine-id.html>
2013-06-15 03:18:23 -07:00
David Anderson eee2879a57 client: fix bug that allowed work fetch request while file uploads active
A while back we added a mechanism intended to defer work-request RPCs
while file uploads are happening,
with the goal of reporting completed tasks sooner
and reducing the number of RPCs.
There were 2 bugs in this mechanism.
First, the decision of whether an upload is active was flawed;
if several uploads were active and 1 finished,
it would act like all had finished.
Second, when WORK_FETCH::choose_project.cpp() picks a project,
it sets p->sched_rpc_pending to RPC_REASON_NEED_WORK.
If we then decide not to request work because an upload
is active, we need to clear this field.
Otherwise scheduler_rpc_poll() will do an RPC to it,
piggybacking a work request and bypassing the upload check.
2013-06-14 22:40:43 -07:00
David Anderson 1e106d6fd7 client: fix bug that sometimes prevented work fetch when CPU throttling in use 2013-06-13 20:50:21 -07:00
Charlie Fenton 19c53f388f client: if event log line limit is set to 0 (unlimited) in cc_config.xml, display "Config: event log limit disabled" in event log at startup 2013-06-13 01:53:25 -07:00
David Anderson 1f2296b36c client: Win version name tweaks, from [P3D} Crashtest 2013-06-12 12:29:07 -07:00
David Anderson af73b2b862 Android client: remove apps from memory if we're on batteries.
Because apps poll 10X/sec for messages from the client,
there is a CPU overhead in leaving suspended apps in memory,
which can cause battery drain.
2013-06-12 12:15:57 -07:00
David Anderson 02fcc45ec4 client: fix work fetch bugs that caused incorrect GPU fetches 2013-06-10 10:36:05 -07:00
David Anderson 424b8c4034 client: fix work-fetch bug that can cause idle GPUs when use exclusions
Round-robin simulation, among other things, creates a bitmap
"sim_excluded_instances" of instances that are idle because of CPU exclusions.
There was a problem in how this was computed;
in the situation where there are fewer jobs than GPU instances
it could fail to set any bits, so no work fetch would happen.

My solution is a bit of a kludge, but should work in most cases.
The long-term solution is to treat GPU instances separately,
eliminating the need for GPU exclusions.
2013-06-08 16:25:53 -07:00
David Anderson 276f8130a6 client: show event log line limit in event log at startup 2013-06-07 15:20:14 -07:00
David Anderson f44bdb323d client: don't make empty work-request RPCs
It's reported that the client can repeatedly make work request RPCs
that don't request work for any resource.
I'm not sure why this happens, but prevent it.
2013-06-07 14:12:02 -07:00
David Anderson 59215de948 client: AMD GPU identification updates from [P3D] Crashtest 2013-06-06 23:13:07 -07:00
David Anderson 7b8bc56da3 Win build fixes 2013-06-06 18:22:51 -07:00
David Anderson 78f7610f6e remove dependency of boinc_api.h on str_replace.h (and hence config.h)
Any files that use strlcpy() or strlcat() must directly include str_replace.h
2013-06-06 17:31:46 -07:00
David Anderson 1f0f8e247a client: if <client_new_version_text> present, don't link to BOINC web site 2013-06-05 16:55:34 -07:00
David Anderson 1446fdddbe client: add <android_debug> log flag; shows battery/wifi RPC info 2013-06-04 11:25:11 -07:00
David Anderson 846b8c7757 all components: change strcpy() to strlcpy() when possible.
This commit should cover the client and manager code.
2013-06-03 20:24:48 -07:00
Rom Walton 4c4c1b17de client: reintroduce xidletime code to detect idle time on Linux. Include reference to source site and authors. 2013-05-29 12:04:20 -04:00
Charlie Fenton 3eb430eaec client & MGR: when writing cc_config.xml, put <max_event_log_lines> in correct alphabetical order 2013-05-28 21:19:28 -07:00
David Anderson fe2779878c boinccmd compile fixes 2013-05-27 23:19:51 -07:00
David Anderson 9c50abaffa Manager and GUI RPC interface: fix possible buffer overruns
If the user typed an extremely long URL into the
Attach to Account Manager wizard, a buffer overrun could result.
There were several places in the code that assumed user-entered
URLs are small (e.g. 256 chars):
- canonicalize_master_url.cpp()
- several GUI RPC interfaces, when generating XML request message
- URL-escaping (not relevant here, but fix anyway)
Change all these to stay within buffers regardless of URL size.
Note: do this by truncation.
This will cause error messages like "can't connect to project"
rather than saying the URL is too long.  That's OK.
2013-05-27 23:08:02 -07:00
David Anderson f25cf0836a Include <cmath> instead of <math.h> various places 2013-05-27 16:44:22 -07:00
Kevin Reed 462dc602ca Additional customization of WCG branding
Conflicts:
	win_build/installerv2/WCG.ism
2013-05-23 16:57:31 -05:00
David Anderson f12fdcc985 client: fix Android build break 2013-05-23 09:02:09 -07:00
David Anderson da4432a8c0 client: fix Android build breaks 2013-05-22 23:42:58 -07:00
David Anderson 73bd46c3fa client: don't ask an NCI project for work if current job still uploading
Note: we currently assume NCI projects have only 1 app.
Removing this assumption would be a little work.
2013-05-22 14:33:37 -07:00
David Anderson 0983315cdb use MAXPATHLEN and sizeof() a few places; from Gianfranco 2013-05-22 13:56:48 -07:00
Rom Walton 514484e022 client: Remove Display Power Management query for idle detection until a new variant can be found. 2013-05-22 12:00:22 -04:00
David Anderson 3488b286cf client: don't piggyback work request in several situations
namely:
- some download stalled
- some task suspended
- too many uploading tasks
2013-05-21 22:01:30 -07:00
David Anderson e033347ba9 client: don't piggyback work request if project is NNW or suspended 2013-05-21 21:49:26 -07:00
David Anderson 1a6a7128a1 client: get product name in Android
We want to track the product name (e.g. "HTC One X") of Android devices.
On Android, the API to get this is Java,
so we need to do it in the GUI rather than the client.
- Add product_name field to HOST_INFO
- Add a GUI RPC for passing this info from the GUI to the client.
- Store it in client_state.xml, so that the client knows it initially.

The product name is included in scheduler RPC requests, as part of <host_info>.
TODO: add server-side support for parsing it and storing in DB.

Also: move DEVICE_STATUS out of HOST_INFO; it didn't belong there.
2013-05-21 13:20:56 -07:00
David Anderson 078087985c client: add battery_charge_min_pct preference (currently for Android) 2013-05-21 10:26:45 -07:00
David Anderson 1ee543f1ab Merge branch 'master' of ssh://boinc.berkeley.edu/boinc-v2 2013-05-20 19:51:26 -07:00
David Anderson 527cddbb90 client: update notice feeds when detach from account manager 2013-05-20 19:50:27 -07:00
David Anderson 0021429c65 client: restore --detach and --detach_console cmdline args
These were mistakenly removed
2013-05-20 14:51:33 -07:00
David Anderson 6968dc5a72 client: fix build break 2013-05-20 12:56:31 -07:00
David Anderson e12e1d0138 client: add <client_new_version_text> config option
Lets you customize the notice that's generated when a new client version is available
2013-05-20 10:28:19 -07:00
David Anderson 5452d3998f client: show app_config warnings only on startup and reread config 2013-05-19 10:02:00 -07:00
Charlie Fenton 93aad6826c client & MGR: add support for <max_event_log_lines>N</max_event_log_lines> in cc_config.xml
Default is 2000
0 means unlimited
2013-05-18 03:25:44 -07:00
David Anderson c6d79d1172 client: fix bug that could cause client to never contact project
if a project sends us <no_rsc_apps> flags for all processor types,
then by default the client will never do a scheduler RPC to that project again.
This could happen because of a transient condition in the project,
e.g. it deprecates all its app versions for a while.

To avoid this situation, the client now checks whether the no_rsc_apps flags
are set for all processor types.
If they are, it clears them all.
This will cause work fetch to use backoff,
and the client will occasionally contact the project.
2013-05-17 10:25:03 -07:00
Charlie Fenton 7ce699e6c3 client: change another "result" to "task" in Event Log 2013-05-16 15:58:54 -07:00
Charlie Fenton cd9ce3614a client: change "result suspended by user" to "task suspended by user" in Event Log 2013-05-16 15:56:59 -07:00
David Anderson 6c2631ec6f client: make "missing app" messages more consisten 2013-05-16 12:40:43 -07:00
David Anderson 91cdbc3aef client: trigger work fetch if user clears "no new tasks" for a project 2013-05-16 12:40:16 -07:00
David Anderson 8a1569c384 client: fix work-fetch bug that could starve a GPU if exclusions used 2013-05-16 12:38:55 -07:00
David Anderson 21d5d8c7f3 Merge branch 'master' of ssh://boinc.berkeley.edu/boinc-v2 2013-05-16 10:15:12 -07:00
David Anderson e0871c380f client (Android): remove unused code 2013-05-15 11:17:45 -07:00
David Anderson 61913b181f client (Android): GUI reports battery and wifi status to client
Previously the client had (C++) code to
- check whether on AC or USB power
- get battery status and temperature
- check whether on wifi
These functions looked in various places under /sys.
Problem: the paths are system-dependent,
so whatever we do won't work on all devices.

The Android APIs for getting this info are in Java,
so we can't call them from the client.

Solution: have the GUI periodically get this info
and report it to the client via a GUI RPC.
The GUI must make this RPC periodically:
if the client doesn't get one within some period of time
(currently 30 sec) it suspends computing and network.

Also: if suspending jobs because of battery charge level
or temperature, leave them in memory.
2013-05-14 12:28:09 -07:00
David Anderson f1cb92184a client: apply app_config.xml settings after each scheduler RPC 2013-05-14 08:46:17 -07:00
Rom Walton 24e46aebe2 WIN: Reintroduce the application manifest for the core client. If BOINC was launched from an unprivileged (non-admin/not part of boinc_users/boinc_admin) attempts to write state files were re-directed to the VirtualStore instead of failing. Once things were fixed other random issues would occur. 2013-05-13 10:48:48 -04:00
David Anderson 9ae633a9bb Merge branch 'master' of ssh://boinc.berkeley.edu/boinc-v2 2013-05-10 22:36:43 -07:00
David Anderson 4323afee1f client: task schedule tweak to avoid starvation case
In enforce_run_list(), don't count the RAM usage of NCI tasks.
NCI tasks run sporadically, so it doesn't make to count it;
doing so can starve regular jobs in some cases.
2013-05-09 15:24:44 -07:00
David Anderson 9c0da17e2f Merge branch 'master' of ssh://boinc.berkeley.edu/boinc-v2 2013-05-06 11:58:06 -07:00
David Anderson 735e2ef394 - client emulator: show jobs in summary file 2013-05-03 15:08:06 -07:00
David Anderson ecfd6d8a63 - boinccmd: check RPC replies for errors; show them. 2013-05-03 15:05:30 -07:00
David Anderson e87971d758 Merge branch 'master' of ssh://boinc.berkeley.edu/boinc-v2 2013-04-26 12:21:48 -07:00
David Anderson c00f27a5a5 client: message tweak (show "don't need" in work request msg) 2013-04-26 12:19:43 -07:00
David Anderson 6c4b23e7d0 client: fix compile warnings
From Gianfranco Costamagna
2013-04-25 01:39:03 -07:00
David Anderson c26f05a516 client: don't use FLOPS info for completion estimates of NCI jobs 2013-04-25 01:09:08 -07:00
David Anderson 99258dcecb - client: fix compile warning 2013-04-24 20:00:02 -07:00
David Anderson 4142a23ae6 AMD GPU naming tweaks
From [P3D] Crashtest
2013-04-23 23:06:02 -07:00
David Anderson 9142a36ebe Merge branch 'master' of ssh://boinc.berkeley.edu/boinc-v2 2013-04-22 10:08:23 -07:00
Charlie Fenton 476d4a7f90 client: fix fatal bug introduced in 64d7fa34 2013-04-22 03:30:29 -07:00
David Anderson 4434a9dd62 - client: add support for bool <no_project_notices> element
in account manager RPC reply.
    If set, suppress display of notices from projects
    (still display notices from the account manager).
2013-04-19 21:40:10 -07:00
David Anderson 7e3dbfa67a - client: final fix to GUI RPC addition 2013-04-18 14:08:50 -07:00
David Anderson 64d7fa3474 - client: more fixes to GUI RPC addition.
Also, replace get_project_dir() with a memoized member function of PROJECT
2013-04-18 13:57:33 -07:00
David Anderson 0880c7107a - fix previous GUI RPC commit 2013-04-18 13:09:03 -07:00
David Anderson 9a073defd1 - client: win compile warning fix 2013-04-18 12:45:19 -07:00
David Anderson aa07305eeb - GUI RPC: add "project_dir" field to PROJECT struct.
GUIs can look for image files (stat_icon etc.) in this directory.
2013-04-18 12:43:17 -07:00
David Anderson 81d64892b6 - client: msg tweak 2013-04-18 00:36:03 -07:00
David Anderson 3610a334aa - client: minor code cleanup 2013-04-17 11:33:53 -07:00
David Anderson 68331492ac - client: Avoid showing too-old stats in GUI.
Trim old credit statistics on each GUI RPC
    as well as each scheduler reply.
2013-04-17 01:25:24 -07:00
David Anderson 35390ef974 - client: add support for CPU OpenCL apps.
Add OPENCL_DEVICE_PROP cpu_opencl_prop to HOST_INFO;
    this store info about the host's ability to run CPU OpenCL apps.
    Detect this, and report it in scheduler requests.
2013-04-16 22:42:29 -07:00
Charlie Fenton a6f0810145 client: add AMD GPU name for HD 3650 (RV635) 2013-04-15 03:03:10 -07:00
Charlie Fenton c8e1b51e40 client: fix matching of ATI/AMD CAL and OpenCL GPU enumeration for (most) cases where CAL supports some older GPUs but OpenCL does not. 2013-04-15 03:01:31 -07:00
Joachim Fritzsch c084536dce Merge branch 'master' of ssh://boinc.berkeley.edu/boinc-v2 2013-04-11 11:50:46 +02:00
Joachim Fritzsch 5ba9644302 -client: bugfix for Android in host_is_running_on_batteries(). Change filehandling back to fopen and fclose from rewind. 2013-04-11 11:50:26 +02:00
Charlie Fenton 882bcb838a client: Balance braces because unbalanced braces confuse Xcode's text editor. 2013-04-11 02:33:32 -07:00
Charlie Fenton 81d7a66f3b client: fix compile break on Linux (from Gianfranco Costamagna) 2013-04-11 01:46:29 -07:00
David Anderson 7442ec888d Merge branch 'master' of ssh://boinc.berkeley.edu/boinc-v2 2013-04-11 01:21:13 -07:00
David Anderson 3fe5da73bd - client: if a job's finish file has been there > 10 sec,
do atp->abort_task() rather than atp->kill_task();
    the latter will restart it infinitely on Unix
- client: prefix timestamp to stderr messages
2013-04-11 01:18:57 -07:00
Charlie Fenton 9b97daa34f Mac: Cix compile errors 2013-04-10 17:54:41 -07:00
David Anderson 33bf4f7851 - client: check error returns from kill() and kill_via_switcher(), show messages 2013-04-10 15:56:40 -07:00
Rom Walton 20208a61e9 - client: add timestamps to output that is written to the console/syslog/windows event log before BOINC has had a chance to initialize its own logging mechanism. 2013-04-10 18:51:35 -04:00
Rom Walton 27bca08d69 client: Make the detach console stuff backwards compatible with BOINCTasks. 2013-04-09 13:12:34 -04:00
David Anderson 63611be7e8 - client: fix bug in work fetch that caused infinite RPCs
if all projects backed off
- client emulator: disable "fetch master URL" logic
2013-04-08 11:33:49 -07:00
David Anderson 6c1f6f4550 - client: put back --detach (because BoincTasks assumes it)
and --detach_console (because the documentation says it exists).
    I'm not sure why --detach_phase_two is there, but leave it.
2013-04-07 23:10:49 -07:00
David Anderson 6b6c2ac519 - client: fix bug that could cause idle GPUs when exclusions are present.
The basic problem: the way we assign GPU instances when creating
        the "run list" is slightly different from the way we assign them
        when we actually run the jobs;
        the latter assigns a running job to the instance it's using,
        but the former doesn't.
    Solution (kludge): when building the run list,
        don't reserve instances for currently running jobs.
        This will result in more jobs in the run list, and avoid starvation.
        For efficiency, do this only if there are exclusions for this type.
    Comment: this is yet another complexity that would be eliminated
        if GPU instances were modeled separately.
        I wish I had time to do that.
- client emulator: change default latency bound from 1 day to 10 days
2013-04-07 13:00:15 -07:00
David Anderson b98d6154d1 - client: AMD GPU name tweaks 2013-04-07 00:32:46 -07:00
David Anderson b9a25b8a20 - client: AMD GPU names; from Jord 2013-04-06 22:09:18 -07:00
David Anderson 5b701ef9e0 - scheduler: fix bug in plan class XML spec,
when it uses a project-specific pref element that's
    missing from a user's prefs.
    From Michael Goetz via Rytis.
2013-04-04 23:58:15 -07:00
David Anderson fde9ab70a1 - client: fix bug in work fetch that prevented resource backoff 2013-04-04 16:20:29 -07:00
David Anderson 330a25893f - client emulator: parse <max_concurrent> in <app> in client_state.xml.
This gives you a way to simulate the effects of app_config.xml
- client: piggyback requests for resources even if we're backed off from them
- client: change resource backoff logic
    Old: if we requested work and didn't get any,
        back off from resources for which we requested work
    New: for each resource type T:
        if we requested work for T and didn't get any, back off from T
        Also, don't back off if we're already backed off
            (i.e. if this is a piggyback request)
        Also, only back off if the RPC was due to an automatic
            and potentially rapid source
            (namely: work fetch, result report, trickle up)
- client: fix small work fetch bug
2013-04-04 10:25:56 -07:00
David Anderson aadb36578b - Client: detect new Win versions and AMD GPUs; from [P3D] Crashtest 2013-04-03 00:19:01 -07:00
David Anderson 24e8133e4b - tabs -> spaces 2013-04-02 17:23:37 -07:00
David Anderson a5bcf6ab3b - client: work fetch message tweaks: show state before actions 2013-04-02 17:04:45 -07:00
David Anderson f6a61fe801 - client: major overhaul of work-fetch logic based on suggestions
by Jacob Klein.
    The new policy is roughly as follows:
    - find the highest-priority project P that is allowed
        to fetch work for a resource below buf_min
    - Ask P for work for all resources R below buf_max
        for which it's allowed to fetch work,
        unless there's a higher-priority project allowed
        to request work for R.
    If we're going to do an RPC to P for reasons other than work fetch,
    the policy is:
    - for each resource R for which P is the highest-priority project
        allowed to fetch work, and R is below buf_max,
        request work for R.
2013-04-02 12:32:28 -07:00
David Anderson 1b9ad86694 - client: don't prefix <task> messages with [task] 2013-04-02 12:31:32 -07:00
David Anderson 93b8289b60 - XML parser: return error if string exceeds buffer size.
- client: when parsing MD5, use 64 instead of 33 char buffer.
    When the XML parser reads a string,
    it enforces the buffer size limit BEFORE it strips whitespace.
    So if a project put whitespaces before or after the MD5,
    it would fail to parse.
2013-03-29 22:36:53 -07:00
David Anderson fae5fc45be - alphabetize fields in prefs structure
- client emulator: simulate project-requested backoff after work fetch
2013-03-29 22:26:38 -07:00
David Anderson 7aaa136f7a - client: on startup, if new version, arrange to get new project list 2013-03-29 18:38:57 -07:00
David Anderson ff68226477 - client emulator: if try to do RPC to a "down" project, back off
- client emulator web interface: show simulations in reverse chron order
2013-03-25 10:22:46 -07:00
David Anderson 515deea4fb - client, work fetch: request # instances so that we have enough jobs
to use project's share of instances.
- client emulator: if client_state.xml doesn't have <no_rsc_apps>
    for a project, and the project doesn't have apps for that resource,
    the project can be asked for work for that resource.
2013-03-25 09:25:25 -07:00
David Anderson b93e80c6f5 - client: code cleanup. Some variable/function/constant names
contained "debt" when they actually refer to REC.
    Change these names to use "rec".
2013-03-24 11:22:01 -07:00
David Anderson a78705a8d4 - client emulator: ignore non-CPU-intensive apps
- remote job submission:
    - prefix error messages with "BOINC server:"
      so higher levels can tell where the error is coming from
    - "get templates" RPC can take job name instead of app name
- Condor interface
    - add BOINC_SELECT_PROJECT function
    - BOINC_SUBMIT no longer has info about output files
    - Change BOINC_FETCH_OUTPUT semantics
2013-03-22 22:04:35 -07:00
David Anderson 128da198b6 - client: rename two different functions named backoff()
to make it easier to see what's going on.
- fix code formatting in manager
2013-03-22 10:43:05 +01:00
David Anderson 825dc2e606 - client: if <dont_check_file_sizes> is set in config, still check for
errors (e.g. verify failures) at startup, and reset file if so.
   Otherwise we'll never recover from those errors.
2013-03-22 10:43:05 +01:00
David Anderson 6cbaefba91 - client and API: add gpu_usage field to APP_INIT_DATA,
so an app can find out what GPU fraction it's expected to use
2013-03-22 10:39:52 +01:00
David Anderson 89c9e49bc6 - client emulator: implement project availability feature 2013-03-22 10:31:43 +01:00
David Anderson 1ef582aad6 - client: improve work fetch messages
- web: include user ID in email to moderators about banishment
2013-03-22 10:29:48 +01:00
David Anderson 8e63d72f3d - client: updated Windows version identification, from Robert Kress 2013-03-22 10:28:20 +01:00
David Anderson f9520431e9 - Client: debug last commit.
Also fix bug where benchmarks don't end when clock goes backward.
2013-03-22 10:28:20 +01:00
David Anderson 702798b84b - client: a couple of more clock-change fixes 2013-03-22 10:28:20 +01:00
David Anderson 9481e04e7b - client: there were many places in the code where we keep track
(usually in a static variable called "last_time")
    of the last time we did something,
    and we only do it again when now - last_time exceeds some interval.
    Example: sending heartbeat messages to apps.
    Problem: if the system clock is decreased by X,
    we won't do any of these actions are time X,
    making it appear that the client is frozen.
    Solution: when we detect that the system clock has decreased,
    set a global var "clock_change" for 1 iteration of the polling loop,
    and disable these time checks if clock_change is set.
2013-03-22 10:28:20 +01:00
David Anderson 4fbac17647 - client: alphabetize log flags 2013-03-22 10:25:39 +01:00
David Anderson 23cb962508 - client emulator compile fix 2013-03-15 13:38:45 +01:00
David Anderson 546ea233a0 - client: fix small work fetch bug that caused the client to
not add a piggyback work request when it should have.
2013-03-15 13:38:45 +01:00
David Anderson fc6b050883 - client: removed unused code for old work-fetch logic 2013-03-15 13:38:45 +01:00
David Anderson 88b905668f - client and boinccmd: update usage text
- update Unix command completion script
- update XML man pages for client, manager, boinccmd
2013-03-15 13:38:45 +01:00
David Anderson 033a47691b - client: write log flags in alpha order 2013-03-15 13:38:44 +01:00
David Anderson 3ced18ddaa - client: don't show cache size in startup messages. 2013-03-15 13:38:44 +01:00
Rom Walton 2b95c65555 client: Revert my changes for the --detach_console functionality back to the original implementation. 2013-03-07 11:31:38 +01:00
David Anderson e41f7dfee5 - client: parse <fetch_on_update> config flag, and show it on startup 2013-03-07 11:30:08 +01:00
David Anderson 71b6508313 - client: add <fetch_on_update> config option;
requests work when you update a project
    even if it's not highest priority
2013-03-07 11:28:43 +01:00
David Anderson e41800082e - client (FreeBSD): detect running on batteries; from rustyBSD 2013-03-07 11:28:43 +01:00
David Anderson 2e23bfedaa - client, work fetch policy. Change policy for projects w/ GPU exclusions 2013-03-07 11:28:43 +01:00
David Anderson 24b62b58a8 - client emulator: fix crash if you have active tasks of
non-CPU-intensive projects
2013-03-07 11:28:43 +01:00
David Anderson 951f16d960 - client: add --suppress_net_info cmdline option 2013-03-07 11:28:42 +01:00
David Anderson a63ebbc13e - client: change work fetch policy to work better with GPU exclusions
- scale amount of work request by
        (# non-excluded instances)/#instances
    - change policy:
        old: don't fetch work if #jobs > #non-excluded instances
        new: don't fetch work if # of instance-seconds used in RR sim
            > work_buf_min * (#non-exluded instances)/#instances
2013-03-07 11:28:42 +01:00
David Anderson d7be4f9f09 - Client: on read_cc_config() GUI RPC, reread app_config.xml files
as well as cc_config.xml
2013-03-05 17:26:33 +01:00
David Anderson 77ee073f58 - client: show error notice if a GPU exclusion (in cc_config.xml)
has an invalid URL, type, or app
- server, create_work() function: if a <file_info> in input template
    lists URLs, they're directories; append filename to each one
2013-03-05 16:57:51 +01:00
David Anderson 0a75353fb7 - client (Android and other Unix without shmget())
Don't write spurious messages to stderr about shmem operations
    not being supported.
2013-03-05 16:42:44 +01:00
Rom Walton 4325ba01bf Android: Initialize variable 2013-03-05 16:40:25 +01:00
Oliver Bock 7a434286b1 Merge branch 'master' of ssh://boinc.berkeley.edu/boinc 2013-03-05 16:39:57 +01:00
David Anderson 5c7f583e42 - client: suspend_reason is not a bitmap; fix code that acted like it is. 2013-03-05 16:39:36 +01:00
Rom Walton b26fdda827 Android: Add different locations that can host battery information.
Android: For all power/battery file descriptors, NULL out their buffers so the client will grab the latest information and not recycle the old information.
2013-03-05 16:38:42 +01:00
Rom Walton 45120de247 Android: Fix crashing bug when we poll for battery information 2013-03-05 16:38:42 +01:00
Rom Walton 6012f9261f Android: Remove debug code for Android, the required functions are called and function.
Android: Remove separate copy_asset.sh script and make that the last part of the build_boinc.sh script.
2013-03-05 16:38:42 +01:00
Rom Walton ff53e509cf Android: Add trace statements to track down battery issues 2013-03-05 16:38:41 +01:00
Rom Walton 255fbade62 client: Fix typo for Android builds 2013-03-05 16:38:41 +01:00
Oliver Bock 05eba7c951 Merge branch 'master' of ssh://boinc.berkeley.edu/boinc 2013-03-05 16:35:14 +01:00
David Anderson 6352f9ca9d - client (Android): forget hysteresis policy; don't compute if < 95% charged. 2013-03-05 16:34:58 +01:00
David Anderson 06eadde310 - client (Unix): check whether VBoxManager is executable by us
before trying to run it.
    Otherwise we get lots of msgs in stderr.
2013-03-05 16:33:39 +01:00
Rom Walton 3ffc712961 client: Another typo 2013-03-05 16:31:08 +01:00
Rom Walton 9b83503d9d client: Another typo 2013-03-05 16:31:08 +01:00
Rom Walton f6807efe18 client: Properly return the battery status as full when it is. 2013-03-05 16:31:08 +01:00
Oliver Bock e695df9f6e Merge branch 'master' of ssh://boinc.berkeley.edu/boinc 2013-03-05 16:00:47 +01:00
David Anderson c7a5156573 - client: work fetch: if there are idle devices, we need to ask
the highest-prio project for work for all of them
    (don't scale by the fetchable resource share!).
    This should fix some device starvation problems.
2013-03-05 16:00:35 +01:00
Rom Walton 49e41f7123 client: Fix typo from previous commit 2013-03-05 15:57:35 +01:00
Rom Walton af7948910e client: Adjust logging on Android so that all messages that show up in the event log are also dumped to LogCat, things were originally setup with that intent but I don't think __VA_ARGS__ was having the desired effect. 2013-03-05 15:57:34 +01:00
David Anderson 3c029c7613 - client: job scheduler tweak to avoid CPU idleness in situation
where GPU jobs use different CPU fractions
- single-job submission: default platform is that of server
2013-03-05 15:57:34 +01:00
Oliver Bock eb79b9e78b Merge branch 'master' of ssh://boinc.berkeley.edu/boinc
Conflicts:
	client/hostinfo_unix.cpp
2013-03-05 15:45:13 +01:00
Rom Walton 011441fb1f client: Removed unused variables on Android wifi detection 2013-03-05 15:40:04 +01:00
Rom Walton c9717d068b client: Fix typo for Android 2013-03-05 15:40:04 +01:00
Rom Walton 7b40d2286f client: Fix Typo for Android 2013-03-05 15:40:04 +01:00
Rom Walton 64ec0f49a3 client: Fix typos for Android 2013-03-05 15:40:04 +01:00
Rom Walton d2df80a859 client: Fix typos for Android 2013-03-05 15:40:04 +01:00
Rom Walton 22a2762622 client: Fix build break on Android 2013-03-05 15:40:04 +01:00
David Anderson 3b18584cb3 - client (Android): change battery-status function so that it
keeps file descriptors open
    (slight simplification and performance enhancement).
2013-03-05 15:33:54 +01:00
David Anderson 21f580d9ef - client (Android): suspend processing if battery temperature > 45 C.
We can adjust this or make it configurable later.
2013-03-05 15:28:00 +01:00
Oliver Bock 58395eda60 Merge branch 'master' of ssh://boinc.berkeley.edu/boinc 2013-03-05 15:27:30 +01:00
Rom Walton 86ceabbee2 client: Fix typo 2013-03-05 15:27:26 +01:00
David Anderson 7177185585 - client: show "%" correctly in messages from scheduler 2013-03-05 15:27:09 +01:00
David Anderson 607060ffaa - client (Android)
- Don't compute if the battery is overheated
    - Don't compute until the batter is 95% charged.
        Then stop computing if it falls below 90%.
        (On some devices, computing causes the batter to drain
        even while it's recharging).
2013-03-05 15:24:01 +01:00
Rom Walton 9ce39485b5 client: Basic detection of the battery state for a given host for Windows and Android. Useful for detecting if the battery is overheating. 2013-03-05 15:12:52 +01:00
Rom Walton 759b3b8078 client: Basic detection of how much capacity a host's battery has on Android and Windows. 2013-03-05 15:12:52 +01:00
David Anderson 3a530a4c34 - client: check return value of the function (statfs or statvfs)
used to find disk space and usage.
    This may be failing for in-memory filesystems on Linux.
2013-03-05 15:05:29 +01:00
David Anderson 4eed4c1b7d - client: message tweak
- remote job submission: output file fetch now working.  Woo hoo!
2013-03-05 14:52:37 +01:00
David Anderson 9342fe696b - client (Win) fixes/improvements to CPU feature detection, from Robert Kreß 2013-03-05 14:52:37 +01:00
David Anderson d013b1f74a - Client: message tweak for GPU suspend/resume 2013-03-05 14:26:49 +01:00
Eric J Korpela 9b191c409a - Modifications to autoconf scripts for non-standard openssl installs 2013-03-05 14:17:54 +01:00
Oliver Bock f728f4e9d4 Merge branch 'master' of ssh://boinc.berkeley.edu/boinc 2013-03-05 14:05:27 +01:00
Joachim Fritzsch ad05a8b0b9 - client: (android) add wifi location of Android 4 devices to detect wifi state properly. 2013-03-05 14:05:04 +01:00
David Anderson c17d20ccd9 - client: show sysmon messages correctly.
This was supposed to be in my 507cd79 commit, but it got botched somehow.
- client: the <task> debug flag enables suspend/resume messages
    for both CPU and GPU.
    Previously CPU messages were always shown,
    and GPU messages were shown if <cpu_sched_debug> was set.
- client: fix bug where reschedule wasn't being done on GPU suspend or resume.
2013-03-05 14:05:04 +01:00
David Anderson 986ea8707c - client: if app does temporary exit, don't print premature exit warning 2013-03-05 14:05:04 +01:00
Rom Walton 340fcfd733 client: when formatting the OpenCL description field, use the human readable version of the GPU type. People were expecting Intel GPU instead of intel_gpu. 2013-03-05 14:03:49 +01:00
Charlie Fenton c2e77a0515 Compile fix for non-Windows clients 2013-03-05 13:43:14 +01:00
David Anderson 6c5522d9c5 Win compile fix 2013-03-05 13:42:01 +01:00
David Anderson c141e7bdc9 - client (Win): don't call msg_printf() from sysmon thread.
Instead, put msg into a buffer and let main thread print it.
    This may fix crashes on system suspend/resume.
2013-03-05 13:42:01 +01:00
David Anderson 3c73f40809 - client: the logic for work fetch in the presence of GPU exclusions
(especially per-app exclusions) was incomplete and buggy.
    Changes:
    - make bitmaps of included instances per (app, resource type)
    - in round-robin simulation, we keep track of used instances
        (so that we know if there are instances that are idle
        because of exclusions).
        Do this based on app-level exclusions
        (previously it was done based on project-wide exclusions,
        which didn't include app-level exclusions).
    - compute RSC_PROJECT_WORK_FETCH::non_excluded_instances
        as the logical OR of the per-app masks.
        I.e. if you exclude an instance for all apps separately,
        it's the same as excluding it for the project as a whole.
        (Note: this bitmap is used for only 1 purpose:
        if we have idle instances, don't request work from a project
        for which those instances are excluded.)
    - define RSC_PROJECT_WORK_FETCH::ncoprocs_excluded as the # of
        instances excluded for *any* app, not the # excluded for all apps.
        This quantity is used in work fetch to make sure we don't
        unboundedly fetch jobs that turn out not to have a GPU to run on
        due to exclusions.
2013-03-05 13:42:00 +01:00
David Anderson 4857dc5c06 - client: write GPU list in get_state() GUI RPC.
Otherwise manager doesn't know what GPUs we have.
2013-03-05 13:42:00 +01:00
Oliver Bock 07747498f1 Merge branch 'master' of ssh://boinc.berkeley.edu/boinc 2013-03-05 13:40:13 +01:00
David Anderson 994f4d6b4c - Manager: fix case where the client has only an Intel GPU,
and the manager was acting as if it had no GPUs.
2013-03-05 13:39:42 +01:00
David Anderson 30076015b5 - client: add code for Intel GPU testing 2013-03-05 13:38:06 +01:00
David Anderson 6afa644fed - client: backoff message tweaks 2013-03-05 13:38:06 +01:00
David Anderson e711309357 - client: get proxy info before attempting project list fetch
or any other HTTP op
2013-03-05 13:38:06 +01:00
David Anderson 79c6225fc2 - configure: work with "gold" linker 2013-03-05 13:33:27 +01:00
David Anderson e0881efa57 - client: make CPU throttling apply to GPU apps 2013-03-04 17:50:43 +01:00
Rom Walton 076858a729 LIB: Standardize on using windows_format_error_string and drop windows_error_string.
* Move the windows_format_error_string function to win_util.cpp, .h instead of it being scattered between util.h and str_util.cpp.
* Convert the Windows error string into UTF8 before allowing it to be used by the caller
* Remove windows_error_string from library
2013-03-04 17:39:24 +01:00
David Anderson fd4de39477 - client: add code for detecting running on batteries on OpenBSD.
From RustyBSD.
2013-03-04 17:39:24 +01:00
David Anderson e8d6c33fe1 - user web: fix security vulnerabilities
- client: show available disk space correctly on startup
2013-03-04 17:39:24 +01:00
Rom Walton 5452037e93 - WIN: Update copyright information in the Windows resource files 2013-03-04 17:39:24 +01:00
David Anderson eea35c152e - client: when checking file sizes at startup,
skip image files if the "dont_verify_images" pref is set.
    Otherwise we'll downloading the file on each startup.
    From Juha.
2013-03-04 17:39:23 +01:00
David Anderson 369abbd9f8 - client: if gui_rpc_auth.cfg is empty, print a warning but don't error out;
an empty GUI RPC password is allowed.
2013-03-04 17:39:23 +01:00
Oliver Bock 08126182b6 Merge branch 'master' of ssh://boinc.berkeley.edu/boinc
Conflicts:
	checkin_notes
2013-03-04 17:36:15 +01:00