size information when it is in a minimized state.
- MGR: Fix the close dialog issue on wxGTK, apparently there is a
hidden flag that governs the handling of the GTK callback
function. Fixes#962 (Thanks for the patch cli)
clientgui/
DlgAdvPreferencesBase.cpp
DlgEventLog.cpp
DlgItemProperties.cpp
svn path=/trunk/boinc/; revision=22635
where being omitted from query strings.
This is incorrect.
For example, suppose you have an app version with nonempty plan_class,
then you try to add a version with no plan class.
The query would omit the "and plan_class = ''"
so it would match the existing app version and not add a new version.
Reported by Rytis.
Hopefully this won't break anything.
svn path=/trunk/boinc/; revision=22616
Old: job scheduling has 2 phases.
In the first phase (schedule_cpus()) we make a list of jobs,
with deadline-miss and high-STD jobs first.
Keep track of the RAM used,
and skip jobs that would exceed available RAM.
Stop scanning when the # of CPUs used by jobs in the list
exceeds the # of actual CPUs.
In the 2nd phase (enforce_schedule()), we add currently running jobs
(which may be in the middle of a time slice) to the list,
and reorder to give priority to such jobs,
and possibly also to multi-thread jobs.
We then run and/or preempt jobs, keeping track of RAM used.
Problems:
- suppose we add an EDF 1-CPU job to the list, then a MT job.
We'll stop at that point because #CPUs is exceeded.
But enforce_schedule() won't run the MT job,
and CPUs will be idle.
- Because the list may be reordered, skipping jobs based
on RAM is not correct, and may cause deadlines to be missed.
New:
- when making the job list, keep track of #CPUs used
by MT jobs and non-MT jobs separately.
Stop the scan only if the non-MT count exceeds #CPUs.
This ensures that we have enough jobs to use all the CPUs,
even if the MT jobs can't be run for whatever reason.
- don't skip jobs because of RAM usage
- skip MT jobs if the MT CPU count is at least #CPUs
Notes:
- ignoring RAM usage in phase 1 can cause idleness in some cases,
e.g. suppose there are 4 GB of RAM and the list has
jobs that use 3 GB, but there are also some jobs that use 1 GB.
I'm not sure how to fix this.
- Maybe the 2-phase approach is not a good idea.
We did it this way for efficiency,
so that we don't have to recompute the job list
each time a job checkpoints.
But this is probably not a concern,
and I like the idea of a simpler approach,
e.g. reducing the policy to a single comparison function.
svn path=/trunk/boinc/; revision=22615
- scheduler: improve the deadline check mechanism slightly.
When updating "estimated delay" (a rough measure of how long
a resource is saturated with high-priority work)
take into account the # of instances used by the job,
and the # of total instances
svn path=/trunk/boinc/; revision=22612
If set, the feeder doesn't read jobs into shmem,
and the scheduler doesn't send jobs.
Intended for use when a project wants to process
a backlog of completed jobs and not issue more.
svn path=/trunk/boinc/; revision=22601
My change of 1 Oct ([22440]) required that such jobs
be processed with 64-bit apps,
on the assumption that 32-bit apps have a 2 GB user address space limit.
However, it turns out this limit applies only to Windows
(kernel and user mode share the 4GB address space; each gets half).
On Linux, the split is 3GB user / 1 GB kernel.
On Mac OS X, user mode and kernel mode have separate address spaces,
each of them 4 GB.
svn path=/trunk/boinc/; revision=22599
They can be determined implicitly by WUs/results,
or explicitly in the <app> record.
If you do neither, the app is ignored.
svn path=/trunk/boinc/; revision=22591
- fixed whitespace error in Makefile.mingw
- build and install svn_version.h in Makefile.mingw
- fixed boinc_win.h for MinGW gcc-4
- not sure why client_msgs.h was ever included in procinfo_unix.cpp,
but in current code caused a nasty trail of includes breaking the
Linux build, so removed it
svn path=/trunk/boinc/; revision=22561
- MGR: Add missing ellipses for the new instance of BOINC Manager and
Event Log.
- MGR: Display a simple message when saying that there are no notices
to be displayed when the client reports there are zero notices.
clientgui/
AdvancedFrame.cpp
NoticeListCtrl.cpp
svn path=/trunk/boinc/; revision=22558