Commit Graph

67 Commits

Author SHA1 Message Date
tchernobog e27ba77fed - Merge branch https://lowca.thgnet.it/swe/branches/0.3-r847--simplify-scheduler
revisions 846:897 into trunk, with approval and peer review of manager (Luca).


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@898 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-17 23:30:49 +00:00
tchernobog 2ff87baadf - Give finishing touches to PythonCPUPolicy: implement describe()
taking the __doc__ class attribute from the Python policy


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@896 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-17 22:04:25 +00:00
tchernobog 45ef305a1b - Incapsulate code so that the hack we previously used in CPUPoliciesGatekeeper isn't needed anymore
- Now CPUPolicy has a callback method for scripting languages, but it is up to derived classes to take
mutexes and set the value when needed (maybe we can improve this?)


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@862 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-14 14:28:41 +00:00
elvez b1327341af - Mini commit: disabled a redundant line in test-python-loader
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@851 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-13 14:26:40 +00:00
tchernobog 9ff7502bb4 - This was an *evil* "chicken-or-egg-first" bug in CPUPoliciesGatekeeper. Now
CPUPolicy->activate() should run properly.


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@846 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-12 17:04:21 +00:00
elvez 48fc2f5a00 - Added still more error checking to PythonCPUPolicy. But the code which calls its methods should be updated to handle the new exceptions...
- Added a base class for cpu policy exceptions to make simpler their catching
- Implemented all numeric fields in dialogs with spinboxes, with bounds checking

git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@838 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-10 00:42:17 +00:00
tchernobog d3c7b46853 - Give code a round of indentation. Thank astyle, not me.
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@837 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-09 14:38:45 +00:00
tchernobog 3968bc7cbd - Fix CPUPolicy.get_parameters() in Python with a simple yet effective hack
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@835 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-09 14:01:46 +00:00
tchernobog 86308ca185 - Revert back to old behaviour. Still wrong, but at least understandable
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@834 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-09 13:41:52 +00:00
tchernobog 72e562e803 - Try to make CPUPolicy.get_parameters() and RR-Priority work. Won't
run.


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@833 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-09 13:37:42 +00:00
elvez addad6aa26 - Applied Matteo`s tips to the error handling code. Now all loading errors whould be handled. Don`t know about runtime errors, though
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@832 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-09 13:24:42 +00:00
elvez 6911676b53 - Added some code for better error-reporting in case of malformed policies. Actually it`s commented because it doesn`t work...
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@831 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-09 00:50:45 +00:00
elvez 0138387a7f - Added the LOAD command to TextSimulation, and the classic question made to user on replacing an unsaved simulation
- Changed the way syntactically incorrect python policies are handled, we no more exit abruptly

git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@829 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-08 00:20:56 +00:00
elvez 96728edfce - Fixed compilation errors caused by latest changes to serialization code
- Setup makefile for xmlsave plugin. It still can`t be activated. why?
- Added a temporary command SAVE to commandline interface to try serialization

git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@826 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-07 00:54:43 +00:00
elvez 974702af3e - Added other two dialogs for the gui
- Added exception specifications to the methods of the serializer interface and xml plugin

git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@821 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-04 00:29:37 +00:00
elvez 10091d7a16 - Added ResourcePolicyManager
- Removed obsolete files

git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@815 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-02 23:38:52 +00:00
tchernobog 1961283f85 - Use strictier naming scheme for pyloader
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@812 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-02 22:06:20 +00:00
tchernobog 43b817aaed - Rename Policy to CPUPolicy where appropriate
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@811 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-02 21:57:36 +00:00
tchernobog 1d34e1f592 - Draft first version of rr_priority (incomplete, will need some more
exported interface)
- Add to the Makefile the glade files


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@804 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-31 22:29:42 +00:00
tchernobog 96e8198d83 - Fix SJF to use the new exported interface. Maybe we could
add a convenience function "get_remaining_time()" for the user
commodity.


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@803 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-31 21:56:46 +00:00
tchernobog 25e5a7319b - Add CairoElements
- Start code for double buffering in custom widgets, using
an off-screen pixmap. Problem: we don't know the height from the 
beginning


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@798 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-28 15:24:56 +00:00
tchernobog 6c79bc361c - Fix deadlock that blocked PythonPolicy::sort_queue
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@796 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-28 12:21:49 +00:00
elvez 6a88e3d85e - Added NullPolicyException to scheduler
- Started code for printing the state of the scheduling
- Fixed a bug in the copy constructor of DynamicThread

git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@794 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-23 22:27:33 +00:00
elvez 66a2d414f2 - Fixed test-pyloader
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@791 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-22 14:47:39 +00:00
elvez 5e40f9a8c1 - Fixed a problem with test-pyloader, now it starts, but it segfaults in no time
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@790 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-21 23:41:06 +00:00
tchernobog bfbcc71e72 - Force initialization of the PythonPolicyManager
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@784 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-20 08:43:58 +00:00
tchernobog 95ef5eba53 - Fix compilation of test-python_loader (which doesn't f*ckin' work).
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@781 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-19 14:48:53 +00:00
paolo d26ee57e3c - definive fix of xml serialization
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@769 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-15 11:29:20 +00:00
paolo 88d5ca2fe1 - updated & documented all about serializers & visitors
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@764 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-15 01:28:35 +00:00
paolo aee102d05d - xml serializer test in semi-ok version
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@762 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-14 05:15:03 +00:00
paolo 8894e31222 - partial update of serializer
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@756 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-12 22:31:47 +00:00
paolo b6b303c4e3 - updated xml_serializer.??, xml_visitor.??
- added xml_serializer_factory.??



git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@750 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-11 00:06:40 +00:00
elvez 6150af3d30 - Fixed some bugs in command processing, added the configure-cpu-policy command
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@748 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-10 22:28:51 +00:00
paolo 519e516314 - added xml serialization classes (partial implementation)
- xml_serializer
  - xml_visitor
  - testsuite/test-xml_visitor



git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@743 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-08 05:54:21 +00:00
elvez 45cc6733e4 - Fixed plugin interface. Now both plugins are loaded. Not tried calling the exported functions, though...
- To make sure libraries are not loaded multiple times, only .so files are considered. Beware that this is not portable

git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@731 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-05 17:03:04 +00:00
tchernobog 3dd8403f0a - Port xmlsave to the new plugin system
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@726 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-05 12:52:11 +00:00
tchernobog 1b018234be - Make me compile! (this doesn't necessarily mean it runs, though.)
- Fix SWIG interface to correctly manage things
- PythonPolicyManager isn't a singleton anymore. Since I did this in
a bit of a hurry, check the modifications are right


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@725 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-05 12:46:12 +00:00
tchernobog b69f9b9d12 - Finish splitting the visibility macro also for plugins
---Questa linea, e quelle sotto di essa, saranno ignorate--

A    trunk/plugins/pyloader/m4/sgpemv2-visibility.m4
M    trunk/plugins/pyloader/configure.ac
M    trunk/plugins/pyloader/Makefile.am
A    trunk/plugins/xmlsave/m4/sgpemv2-visibility.m4
M    trunk/plugins/xmlsave/configure.ac
M    trunk/plugins/xmlsave/Makefile.am


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@722 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-05 12:05:30 +00:00
tchernobog 6152a06268 - Another typo, for a change
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@720 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-04 23:18:39 +00:00
tchernobog 3f024be712 - Fix typo, but not compilation
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@719 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-04 23:17:29 +00:00
tchernobog fcc9e93827 - Let the user disable the new GCC 4.0 visibility support
from configure. This is mainly there for buggy compilers / binutils.


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@715 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-04 22:17:02 +00:00
tchernobog 4108b39c09 - Fix datarootdir for autoconf 2.60
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@713 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-04 20:28:40 +00:00
elvez 401c569a9f - Updated interface of pyloader to comply with the new plugin management system`s requirements
- Commented a lot of code to make it compile-able. But still it doesn`t link (at least for me...)

git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@710 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-04 15:05:04 +00:00
tchernobog a378239d60 - Only schedule Threads. Ditch support for Policies deciding
if they want to schedule Threads or Processes altogether
- Move setter methods for last_acquisition/last_release from
DynamicSchedulable to DynamicThread
- Rewrite aforesaid methods, along with the respective getter
methods, into Dynamic(Thread|Process)


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@708 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-04 10:46:15 +00:00
tchernobog 759b90b017 - Substitute the old SchedulableQueue with the new ReadyQueue
- Add interfaces for Process and Thread into the "sgpem.i" SWIG
interface file, change DynamicSchedulable into Schedulable
- Add dynamic_cast for the return value of ReadyQueue::get_item_at()
into the pyloader "sgpem.i" SWIG interface, so that a Schedulable
can be either recognized as a Thread or a Process
- TODO: wrap STL exceptions in SWIG interface
- Please note that code won't compile until the new History and
Scheduler::step_forward() will be in place. This is a known issue.


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@689 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-02 13:51:03 +00:00
tchernobog 6b27a8461b - Pretty-indenting code
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@674 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-06-29 08:44:30 +00:00
tchernobog 66d46db357 - Separate template definition from template declaration
- Explicitly instantiate Singleton templates to be exported from libbackend.so
- Install only header files that are backend interfaces to be exposed to the user
- Don't use full path for including templates in header files
- Instantiate a couple of smart_ptr templates to have their symbols exported outside the DSO. This happens in history.cc. FIXME: the interface for History will definitely need to be reworked, and the two smart_ptr explicit instantiations removed.
- Change SWIG exported interface to make use of Schedulable instead of (Dynamic|Static)Schedulable
- Fix provided policies to make use of the new interface
- TODO: limit the use of smart_ptrs.


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@653 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-06-23 13:06:39 +00:00
tchernobog 383889a203 - Add unified Singleton support
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@643 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-06-21 09:09:50 +00:00
elvez 30d070a420 - Added SETPOLICY and LISTPOLICIES commands to text-based interface
- Fixed a bug preventing registration of managers in PoliciesGatekeeper

git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@634 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-06-15 20:07:03 +00:00
elvez a1662de194 - Added the Schedulable interface
- Renamed SchedulableStatus to DynamicSchedulable
- Implemented almost all methods of DynamicSchedulable

git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@630 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-06-13 16:37:57 +00:00