]> rtime.felk.cvut.cz Git - frescor/frsh.git/log
frescor/frsh.git
15 years agoImplemented fres_block_spare_capacity_to_string()
Michal Sojka [Tue, 12 May 2009 22:35:46 +0000 (00:35 +0200)]
Implemented fres_block_spare_capacity_to_string()

15 years agoMerge branch 'master' of git://rtime.felk.cvut.cz/frescor/frsh_forb/dario
Michal Sojka [Tue, 12 May 2009 21:55:13 +0000 (23:55 +0200)]
Merge branch 'master' of git://rtime.felk.cvut.cz/frescor/frsh_forb/dario

15 years agoPossible fix FCB crash on spare capacity contracts
Michal Sojka [Tue, 12 May 2009 19:38:39 +0000 (21:38 +0200)]
Possible fix FCB crash on spare capacity contracts

FCB crash was reported by Tommaso and I cannot reproduce it on my
system. It was probably caused by some uninitialized fields in spare
capacity block.

15 years agoFixed a typo in CPU power level change logging facilities.
Dario Faggioli [Tue, 12 May 2009 16:53:49 +0000 (18:53 +0200)]
Fixed a typo in CPU power level change logging facilities.

15 years agoAdded the missing functions for the spare capacity block descriptor.
Dario Faggioli [Tue, 12 May 2009 16:51:12 +0000 (18:51 +0200)]
Added the missing functions for the spare capacity block descriptor.

15 years agoMerge branch 'master' of git://rtime.felk.cvut.cz/frescor/frsh_forb
Dario Faggioli [Tue, 12 May 2009 14:30:02 +0000 (16:30 +0200)]
Merge branch 'master' of git://rtime.felk.cvut.cz/frescor/frsh_forb

15 years agoFixed protector defines in acpi_battery.h
Michal Sojka [Tue, 12 May 2009 10:23:28 +0000 (12:23 +0200)]
Fixed protector defines in acpi_battery.h

15 years agoFix attributes for the diskbfq resource manager.
Dario Faggioli [Tue, 12 May 2009 10:12:18 +0000 (12:12 +0200)]
Fix attributes for the diskbfq resource manager.

15 years agoBugfix in LCD initialization.
Dario Faggioli [Tue, 12 May 2009 09:33:48 +0000 (11:33 +0200)]
Bugfix in LCD initialization.

15 years agoFix (again) AQuoSA compilation.
Dario Faggioli [Tue, 12 May 2009 08:07:49 +0000 (10:07 +0200)]
Fix (again) AQuoSA compilation.

This should --definitely-- fix all the still open issues with
compiling the framework while having AQuoSA installed in non-standard
(i.e., non /usr or /usr/local) path.

15 years agoFix bug in governor discovery.
Dario Faggioli [Tue, 12 May 2009 08:07:09 +0000 (10:07 +0200)]
Fix bug in governor discovery.

Fix a bug in the governors list traversal.

15 years agoSmall fixes.
Dario [Mon, 11 May 2009 15:34:59 +0000 (17:34 +0200)]
Small fixes.

Some small fixes in the energy management implementation.

15 years agoFCB measures time elapsed time before other nodes are discovered
Michal Sojka [Mon, 11 May 2009 07:02:16 +0000 (09:02 +0200)]
FCB measures time elapsed time before other nodes are discovered

This is to implement FRESCOR requirement 2.2B.

15 years agoFCB detects distributed nodes joined to the system
Michal Sojka [Mon, 11 May 2009 01:36:45 +0000 (03:36 +0200)]
FCB detects distributed nodes joined to the system

15 years agoUpdated to the change in forb_init()
Michal Sojka [Mon, 11 May 2009 01:35:09 +0000 (03:35 +0200)]
Updated to the change in forb_init()

15 years agoFixed warnings caused by the previous merge
Michal Sojka [Sun, 10 May 2009 17:46:36 +0000 (19:46 +0200)]
Fixed warnings caused by the previous merge

15 years agoMake acpi_battery linked conditionally
Michal Sojka [Sun, 10 May 2009 17:45:33 +0000 (19:45 +0200)]
Make acpi_battery linked conditionally

15 years agoMerge branch 'master' of git://rtime.felk.cvut.cz/frescor/frsh_forb/dario
Michal Sojka [Sun, 10 May 2009 16:15:59 +0000 (18:15 +0200)]
Merge branch 'master' of git://rtime.felk.cvut.cz/frescor/frsh_forb/dario

Conflicts:
frsh_api/Makefile.omk
frsh_api/frsh_contract.c
frsh_api/frsh_power.c
resources/acpi_cpu/Makefile.omk
resources/acpi_lcd/Makefile.omk

15 years agoMake the framework compilable without acpi_xxx libraries
Michal Sojka [Sun, 10 May 2009 15:54:21 +0000 (17:54 +0200)]
Make the framework compilable without acpi_xxx libraries

This commit introduces CONFIG_ACPI_XXX config parameters which can be
used to compile the framework for platforms, where ACPI is not
available.

15 years agoFixed error reporting in aqcputest
Michal Sojka [Fri, 8 May 2009 19:57:38 +0000 (21:57 +0200)]
Fixed error reporting in aqcputest

15 years agoImproved error reporting in frsh_init()
Michal Sojka [Sun, 10 May 2009 13:57:55 +0000 (15:57 +0200)]
Improved error reporting in frsh_init()

If the some function return -1, then frsh_init() returns the value of
errno.

15 years agoAdded fra_get()
Michal Sojka [Sun, 10 May 2009 09:47:25 +0000 (11:47 +0200)]
Added fra_get()

This functions might be used later by frsh_resource_(set|get)_power_level()
to implement this functionality by virtual functions.

In my opinion, set/get_poer_level functions should not be part of FRSH API.
It is not clear (to me) what happens when one application set one
power-level and second application different level. I think this function
should only be used internally (e.g. by contract broker) to achieve the
requirements specified by frsh_contract_set_min_expiration() and similar
functions.

15 years agoAdditional FRA functionality implemented by virtual functions
Michal Sojka [Sun, 10 May 2009 09:42:51 +0000 (11:42 +0200)]
Additional FRA functionality implemented by virtual functions

The new virtual functions are:
- (un)bind_thread
- vres_get_XXX_usage
- support for feedback module

In d9964709b8f6fe7ebf97535daaf1a3c52f519f89, these functions were called
from switch statements in FRSH API and it was not possible to compile the
framework without DISK support (there were missing #ifdefs).

15 years agoAdded a comment about inappropriate power-managemnt implementation
Michal Sojka [Sun, 10 May 2009 09:30:14 +0000 (11:30 +0200)]
Added a comment about inappropriate power-managemnt implementation

15 years agoFixed compilation warnings and errors
Michal Sojka [Sun, 10 May 2009 09:28:39 +0000 (11:28 +0200)]
Fixed compilation warnings and errors

There were some warnings and errors in in Dario's code. This is a simple
fix of them.

15 years agoLarge commit with power management related fixes and features.
Dario [Sat, 9 May 2009 17:04:27 +0000 (19:04 +0200)]
Large commit with power management related fixes and features.

This is a very (too much, probably!) large commit including:
- redesigned per-resource power management logic;
- test cases for battery status reading;
- test case for CPU and LCD power management;
- full implementation of battery related functions and of
  their implications for core and contract functions;
- bugfixes in existent power managemtnt code

15 years agoFixed AQuoSA CPU resource management.
Dario [Sat, 9 May 2009 15:14:29 +0000 (17:14 +0200)]
Fixed AQuoSA CPU resource management.

AQuoSA based CPU manager implementation was affected by quite
serious bugs, mainly with respect to vres modification (during)
renegotiation and removal (during cancellation).

This commit seems able to fix all these issues.

15 years agoMerge branch 'master' of git://rtime.felk.cvut.cz/frescor/frsh_forb
Dario [Sat, 9 May 2009 11:35:25 +0000 (13:35 +0200)]
Merge branch 'master' of git://rtime.felk.cvut.cz/frescor/frsh_forb

15 years agoRevert deletion of commens in "Power Management contract facilities."
Michal Sojka [Sat, 9 May 2009 10:20:13 +0000 (12:20 +0200)]
Revert deletion of commens in "Power Management contract facilities."

This reverts a part of commit 5e3f0e32ce9e01ed4e244a8df78dc3c806db1cbe.

15 years agoMerge branch 'master' of git://rtime.felk.cvut.cz/frescor/frsh_forb/dario
Michal Sojka [Sat, 9 May 2009 10:33:15 +0000 (12:33 +0200)]
Merge branch 'master' of git://rtime.felk.cvut.cz/frescor/frsh_forb/dario

15 years agoSuppress uninitialized warning
Michal Sojka [Fri, 8 May 2009 19:08:31 +0000 (21:08 +0200)]
Suppress uninitialized warning

GCC is not smart enough to see that we use key2 correctly.

15 years agoMerge branch 'master' of git://rtime.felk.cvut.cz/frescor/frsh_forb
Dario [Wed, 6 May 2009 15:58:16 +0000 (17:58 +0200)]
Merge branch 'master' of git://rtime.felk.cvut.cz/frescor/frsh_forb

15 years agoaquosa: Do not overwrite errno on initialization
Michal Sojka [Wed, 6 May 2009 11:21:24 +0000 (13:21 +0200)]
aquosa: Do not overwrite errno on initialization

15 years agoAdded minimum contract duration.
Dario [Tue, 5 May 2009 15:33:44 +0000 (17:33 +0200)]
Added minimum contract duration.

As prescribed by the energy management module, it is now possible to ask
a contract to be negotiated only if the system lifetime is greater than
a certain value, specified by means of the energy management API.

15 years agoAdded stub LCD power management.
Dario [Tue, 5 May 2009 15:07:12 +0000 (17:07 +0200)]
Added stub LCD power management.

Added stub functions for performing LCD brightness level setting.

15 years agoBugfixes in DISK resource manager.
Dario [Tue, 5 May 2009 15:05:23 +0000 (17:05 +0200)]
Bugfixes in DISK resource manager.

Minor bugs fixed in the throughput measuring logic inside the
DISK resource manager.

15 years agoMinor bugfixes.
Dario [Mon, 4 May 2009 17:35:14 +0000 (19:35 +0200)]
Minor bugfixes.

Some fixes in feedback and power modules.

15 years agoFix in getting number of power levels.
Dario [Mon, 4 May 2009 16:27:53 +0000 (18:27 +0200)]
Fix in getting number of power levels.

The number of power levels was being returned --which is wrong-- instead of
copied inside the proper argument.

15 years agoDISK throughput measurement during manager initialization.
Dario [Mon, 4 May 2009 16:12:14 +0000 (18:12 +0200)]
DISK throughput measurement during manager initialization.

Throughput measurement has been added during the BFQ disk resource
manager initialization.

This is fundamental in order to have meaningful weight assignement and,
thus correct bandwidth enforcing.

15 years agoFix critical bugs in FRSH Feedback module.
Dario [Mon, 4 May 2009 13:49:25 +0000 (15:49 +0200)]
Fix critical bugs in FRSH Feedback module.

Some critical bugs was present in the feedback module implementation.

First of all, the module was not being compiled, thus a lot of comilation
error were in place, and anybody has never noticed them.
Also, the name of the spare bandwidth setting functions (for CPU and DISK)
were totally wrong.
Finally, the registration of the spare capacity block was not being performed.

15 years agoAdd support for multi (CPU and DISK) resources.
Dario [Thu, 30 Apr 2009 09:15:15 +0000 (11:15 +0200)]
Add support for multi (CPU and DISK) resources.

This quite disruptive commit the support for multiple
resources is introduced into the FRSH-FORB architecture.

For now, only CPU and DISK resources are supported, but, as usual,
the framework is flexible enough to make the adding of new resources
as easy as possible.

Unfortunately, we have not been able (yet), mainly for time reasons,
to go with the framework's usual ORB and virtual function based approach,
and some switch/case logic has been added in FRSH API implementation. :-(
We think this approach could anyway be valuable, at least for now...
Refinements and more "clean" solutions may come in the future, and any
kind of suggestion is welcome with this respect.

15 years agoAdded VRES type to the key of thread/VRES repository.
Dario [Thu, 30 Apr 2009 08:52:40 +0000 (10:52 +0200)]
Added VRES type to the key of thread/VRES repository.

Since more than one single resource type has to be supported, it
came out that using only the thread-ID as the key of the trhead/VRES
repository (i.e., where the mapping between thread and vreses is kept)
is not enough.
In fact, what would happen if the user tries to bind _the_same_ thread
to two different vreses, each one associated to a different resource?

For that reason, the repository (and its accessor functions) has been
modified such that also the vres type is part of the key. Thus, the
same thread could be safely bound to one vres for each resource
we have in the system.

15 years agoDisk resource allocator initialization.
Dario [Thu, 30 Apr 2009 07:35:59 +0000 (09:35 +0200)]
Disk resource allocator initialization.

This commit adds to frsh_init() the proper call to initialize
the DISK resource allocator.

15 years agoEffective admission test for AQuoSA CPU manager.
Dario [Thu, 30 Apr 2009 07:01:56 +0000 (09:01 +0200)]
Effective admission test for AQuoSA CPU manager.

This commit properly implements the admission test the AQuoSA CPU
resource manager, which was only a stub since now.

15 years agoFRSH API for power management.
Dario [Thu, 30 Apr 2009 06:53:22 +0000 (08:53 +0200)]
FRSH API for power management.

This commit implements a subset of the FRSH API for power management.
It only (for now) support CPU and make use of the special "resource"
acpi_cpu added by previous commits.

15 years agoBFQ based disk bandwidth resource.
Dario [Thu, 30 Apr 2009 06:47:40 +0000 (08:47 +0200)]
BFQ based disk bandwidth resource.

This commit augments the framework with the capability of dealing with
disk bandwidth, by means of a special disk scheduling algorithm, BFQ
(http://feanor.sssup.it/~fabio/linux/bfq/, provided it is present
in the kernel).

Notice that this commit is not enough to make disk contracts usable,
and some of the upcoming one are needed in order of "activate" them.

15 years agoFix typo in function name.
Dario [Wed, 29 Apr 2009 16:45:55 +0000 (18:45 +0200)]
Fix typo in function name.

Fix typo in function frsh_contract_get_resource_and_label in frsh_contract.c.

15 years agoPower Management contract facilities.
Dario [Wed, 29 Apr 2009 16:40:11 +0000 (18:40 +0200)]
Power Management contract facilities.

This commit adds to fres contracts what is needed to support
the FRSH power management module.

15 years agoACPI CPU related functions.
Dario [Wed, 29 Apr 2009 16:35:49 +0000 (18:35 +0200)]
ACPI CPU related functions.

This commit adds the basic ACPI functions for get/set
system battery status and CPU frequency.

15 years agoImplemented frsh_contract_renegotiate_sync()
Michal Sojka [Thu, 23 Apr 2009 11:08:33 +0000 (13:08 +0200)]
Implemented frsh_contract_renegotiate_sync()

15 years agoImplemented change_vres() callback in dummy allocator
Michal Sojka [Thu, 23 Apr 2009 11:08:00 +0000 (13:08 +0200)]
Implemented change_vres() callback in dummy allocator

15 years agoImplemented support for contract renegotiation
Michal Sojka [Thu, 23 Apr 2009 11:23:20 +0000 (13:23 +0200)]
Implemented support for contract renegotiation

This patch changes significantly the interface between FCB and resource
managers and allocators. There no longer exist cancel_* method. The main
negotiation methods (manager.reserve_contracts, allocator.change_vreses) now
use an interface which supports the semantic offered by
frsh_group_change_mode_sync() i.e. in one negotiation operation, there might
be a combination of multiple requests to negotiate, renegotiate or cancel
contracts. Resource managers process these requests atomically, i.e.  either
all requests succeed or none of them.

The interface for implementing individual resource managers and allocators
remains the same with one exception - fres_sa_scenario_for_each_contract()
was replaced by fres_sa_scenario_for_each_no_cancel_contract().

15 years agoGeneric allocator: unify terminology (scheduler/allocator)
Michal Sojka [Thu, 16 Apr 2009 20:58:10 +0000 (22:58 +0200)]
Generic allocator: unify terminology (scheduler/allocator)

In the past allocator was called scheduler and this name was not
completely replaced in the sources until now.

15 years agoAdded contract merge operation
Michal Sojka [Thu, 16 Apr 2009 05:46:22 +0000 (07:46 +0200)]
Added contract merge operation

15 years agoAdded some container handling function
Michal Sojka [Wed, 15 Apr 2009 10:30:21 +0000 (12:30 +0200)]
Added some container handling function

15 years agodoc: Updated figure labels
Michal Sojka [Fri, 17 Apr 2009 13:17:35 +0000 (15:17 +0200)]
doc: Updated figure labels

15 years agocpucg: Fixed compilation warning in printf() format
Michal Sojka [Tue, 14 Apr 2009 13:13:24 +0000 (15:13 +0200)]
cpucg: Fixed compilation warning in printf() format

15 years agoCPU resource managers renamed to frm_*
Michal Sojka [Tue, 14 Apr 2009 13:07:37 +0000 (15:07 +0200)]
CPU resource managers renamed to frm_*

15 years agoAdded FIXME comments to Dario's spare capacity stub
Michal Sojka [Tue, 14 Apr 2009 12:09:13 +0000 (14:09 +0200)]
Added FIXME comments to Dario's spare capacity stub

15 years agoStub spare capacity module implementation.
Dario Faggioli [Thu, 2 Apr 2009 15:37:22 +0000 (17:37 +0200)]
Stub spare capacity module implementation.

First stub of the implementation of the spare capacity module.
Only the frsh_contract_set_reclamation_params() and
frsh_contract_get_reclamation_params() functions have been implemented
since now, since we need them also for feedback module.

15 years agoFix compilation of frsh_cpucg.
Pavel Pisa [Thu, 9 Apr 2009 14:22:03 +0000 (16:22 +0200)]
Fix compilation of frsh_cpucg.

Some more consideration about conditions which
require parameters update should be checked.

Signed-off-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
15 years agoUpdated frsh_vresperiod_wait() definition according to current FRSH sources
Michal Sojka [Wed, 8 Apr 2009 13:14:39 +0000 (15:14 +0200)]
Updated frsh_vresperiod_wait() definition according to current FRSH sources

15 years agoGeneric resource manager verbosity can be controlled from outside
Michal Sojka [Thu, 2 Apr 2009 09:53:56 +0000 (11:53 +0200)]
Generic resource manager verbosity can be controlled from outside

15 years agoDummy resource verbosity in now configurable
Michal Sojka [Thu, 2 Apr 2009 09:53:26 +0000 (11:53 +0200)]
Dummy resource verbosity in now configurable

15 years agoAdded negotiation overhead benchmark
Michal Sojka [Thu, 2 Apr 2009 09:20:18 +0000 (11:20 +0200)]
Added negotiation overhead benchmark

15 years agoLink with AQuoSA libraries only when they exist
Michal Sojka [Tue, 24 Mar 2009 08:36:16 +0000 (09:36 +0100)]
Link with AQuoSA libraries only when they exist

15 years agoFixes of AQuoSA resource manager and build system.
Dario Faggioli [Tue, 24 Mar 2009 08:14:30 +0000 (09:14 +0100)]
Fixes of AQuoSA resource manager and build system.

Some glaring typos and bugs were in place becaouse of some weired mess
in branches and repositories... Now they are fixed.

Also, something in the OMK was not correct. In fact the path of the
AQuoSA components was hard-coded and not parametrized in AQUOSA_PATH.

Signed-off-by: Tommaso Cucinotta
Signed-off-by: Dario Faggioli
Signed-off-by: Michal Sojka <sojkam1@fel.cvut.cz>
15 years agoSmall changes in pinpong test
Martin Molnar [Tue, 17 Mar 2009 20:15:02 +0000 (21:15 +0100)]
Small changes in pinpong test

15 years agoadded statistics to pinpong test
Martin Molnar [Tue, 17 Mar 2009 01:08:23 +0000 (02:08 +0100)]
added statistics to pinpong test

15 years agoAdded Makefile.omk to pingpong test
Martin Molnar [Thu, 12 Mar 2009 22:50:54 +0000 (23:50 +0100)]
Added Makefile.omk to pingpong test

15 years agoAdded time measurement to pingpong test
Martin Molnar [Thu, 12 Mar 2009 01:06:45 +0000 (02:06 +0100)]
Added time measurement to pingpong test

15 years agoCorrected frsh test compilation
Martin Molnar [Thu, 12 Mar 2009 01:02:25 +0000 (02:02 +0100)]
Corrected frsh test compilation

15 years agoAdded ping-pong test
Martin Molnar [Wed, 11 Mar 2009 01:06:55 +0000 (02:06 +0100)]
Added ping-pong test

15 years agoRemove old test files
Martin Molnar [Wed, 11 Mar 2009 01:04:43 +0000 (02:04 +0100)]
Remove old test files

15 years agoFixed typos in a comment
Michal Sojka [Sun, 1 Mar 2009 19:45:16 +0000 (20:45 +0100)]
Fixed typos in a comment

15 years agoMerge branch 'dario'
Michal Sojka [Sun, 1 Mar 2009 19:18:31 +0000 (20:18 +0100)]
Merge branch 'dario'

This is a merge of patches sent by Dario with some fixes and comments added by me.

* Merged commits:
  First stub of the feedback API.
  Different solution for dedaling with csects serialization.
  Added comment for a possible bug
  Better dealing with attr = NULL bug.
  Memory leak in shared objects removed.
  Small fixes from the prev. commit.
  Testcase and bugfixes for synchronization and shared objects.
  Added comments on possible changes in csect IDL block
  Shared Objects.
  Synchronization objects.
  Updates to the previous commit: added documentation and fixed bugs
  Further improvements in core API implementation.
  Resource independent thread functions and synch/shared objects stub.
  Bugfix and FRSH thread function generalization.

15 years agoFirst stub of the feedback API.
Dario Faggioli [Fri, 27 Feb 2009 09:03:08 +0000 (10:03 +0100)]
First stub of the feedback API.

FRSH Feedback is implemented in this commit. It only is in place for
AQuoSA based CPU resource manager, since CGroups still lacks the basics
for having it up and running (it can be done, but it will be the focus
of future work... Not enough time to deal with it now!).

Something is still missing, like retreival and renegotiation of the fake
spare_contract used for the feedback. Some more discussion is needed in
order of deciding how to realize it.

15 years agoDifferent solution for dedaling with csects serialization.
Dario Faggioli [Fri, 27 Feb 2009 00:54:12 +0000 (01:54 +0100)]
Different solution for dedaling with csects serialization.

The functions for the de/serialization of the frsh_group_csects_t data
type have been rethinked and rewritten.

Serialization and deserialization of memory areas and function pointers
are still missing, and probably need some more thinking in order to
decide what to do with respect to them.

15 years agoAdded comment for a possible bug
Michal Sojka [Sun, 1 Mar 2009 19:12:10 +0000 (20:12 +0100)]
Added comment for a possible bug

15 years agoBetter dealing with attr = NULL bug.
Dario Faggioli [Fri, 27 Feb 2009 00:50:24 +0000 (01:50 +0100)]
Better dealing with attr = NULL bug.

Differently cope with the possibility of the thread attributes being
NULL during thread_create_and_bind. This new solution initializes it
internally, thus avoiding a potential non-initialized used of variable
p, containing thread priority.

15 years agoMemory leak in shared objects removed.
Dario Faggioli [Thu, 26 Feb 2009 17:39:26 +0000 (18:39 +0100)]
Memory leak in shared objects removed.

The memory leak in write operation for protected critical sections has
been solved. Now the backup storage is an automatic variable for the
critical section invocation, and all the memory is allocated and freed
therein.

It is true that this cause much more overhead at each invocation, but
this is still better than undefinitely leaking memory, also because it
can be accounted for (if calculated) in blocking time (not implemented
yet).

15 years agoSmall fixes from the prev. commit.
Dario Faggioli [Thu, 26 Feb 2009 15:54:36 +0000 (16:54 +0100)]
Small fixes from the prev. commit.

Some data structures present in frsh_sharedobj.c are not needed nor
used, and have been left there because of mistake.
The same happened in the Makefile, where a rule for a not yet committed
test application is removed by this commit.

15 years agoTestcase and bugfixes for synchronization and shared objects.
Dario Faggioli [Thu, 26 Feb 2009 15:15:54 +0000 (16:15 +0100)]
Testcase and bugfixes for synchronization and shared objects.

Testcases have been added for FRES synchronization and shared objects.
Thanks to them, a couple of glaring bugs in the code have been found and
fixed.

Higher (FRSH) level test programs will come in the next commits.

15 years agoAdded comments on possible changes in csect IDL block
Michal Sojka [Sun, 1 Mar 2009 18:57:25 +0000 (19:57 +0100)]
Added comments on possible changes in csect IDL block

15 years agoShared Objects.
Dario Faggioli [Wed, 25 Feb 2009 08:42:59 +0000 (09:42 +0100)]
Shared Objects.

This commit introduces shared objects. The implementation is fully
resource manager independent, and thus can be used with dummy, AQuoSA,
CGroups, or whatever else.

A small uncompliance with the FRSH API semantic is present, since we
need the user not to create an external mutex that will be associated
with the shared object. Instead, we create the mutex along with the
shared object and return it to the user together with the shared object
handle.
This issue will be further analyzed to find out if it would be possible
to remove it...

Moreover, this commit does not fully implemente serialization and
deserialization for the critical sections contract block, since more
discussion is needed to address the issue. Thus, we only provide some
stubs here, just to make the framework compile and run some simple
tests.

Signed-off-by: Michal Sojka <sojkam1@fel.cvut.cz>
15 years agoSynchronization objects.
Dario Faggioli [Wed, 25 Feb 2009 08:28:59 +0000 (09:28 +0100)]
Synchronization objects.

This commit introduces synchronization objects and thus complete the
core API implementation. There still are some minor functions that are
not-implemented, and they will be addressed later.

Synchronization objects basics are implemented at FRES layer, then the
FRSH API uses these services to provide compliant semantic to the
application.
Implementation is done on top of FOSA mutexes and condition variables,
so that is as much portable as it is possible (we hope!).

15 years agoUpdates to the previous commit: added documentation and fixed bugs
Michal Sojka [Sun, 1 Mar 2009 18:10:51 +0000 (19:10 +0100)]
Updates to the previous commit: added documentation and fixed bugs

15 years agoFurther improvements in core API implementation.
Dario Faggioli [Wed, 25 Feb 2009 07:57:15 +0000 (08:57 +0100)]
Further improvements in core API implementation.

Almost all the core API is implemented via this commit, with the only
exception of synchronization object.

In order to make it possible to retreive a vres ID by the thread ID of
the thread that is bound to it, a new GAVL has been added inside the
reasource allocator (FRES layer) containing all the threads that are
bound to any virtual resource.

Insertion in the tree is done during the frsh_thread_bind, deletion
during frsh_thread_unbind. It may still exist a leak if someone cancel a
contract (and thus the associated vres) without unbinding the threads
first. It is well known and a solution will be provided soon.

Signed-off-by: Michal Sojka <sojkam1@fel.cvut.cz>
15 years agoResource independent thread functions and synch/shared objects stub.
Dario Faggioli [Tue, 17 Feb 2009 11:35:15 +0000 (12:35 +0100)]
Resource independent thread functions and synch/shared objects stub.

The frsh_thread.c file is added to generic, manager independent, FRSH
core implementation. It basically adds frsh_thread_create_in_background
function, while service thread tuning functions are not supported yet.

Also, first stub of the code needed to handle synchronization and shared
object is added, and will be filled in the next commits.

15 years agoBugfix and FRSH thread function generalization.
Dario Faggioli [Sat, 14 Feb 2009 10:41:40 +0000 (11:41 +0100)]
Bugfix and FRSH thread function generalization.

Some bugs introduced in my previous commit have been fixed. More
important, some functions related to thread creation and management in
FRSH have been moved from resource managers to frsh_forb.

These functions are, for example frsh_thread_create_in_background, or
frsh_{set, get}_service_thread_data. This avoid code duplication inside
resource managers.

Signed-off-by: Michal Sojka <sojkam1@fel.cvut.cz>
15 years agoAdded .gitignore
Michal Sojka [Sun, 1 Mar 2009 16:54:41 +0000 (17:54 +0100)]
Added .gitignore

15 years agoAdded license headers and authorship info
Michal Sojka [Wed, 18 Feb 2009 15:31:02 +0000 (16:31 +0100)]
Added license headers and authorship info

15 years agoExtended fwptest for more parameters
Martin Molnar [Wed, 18 Feb 2009 00:01:24 +0000 (01:01 +0100)]
Extended fwptest for more parameters

15 years agoFRM is compiled by OMK
Michal Sojka [Tue, 17 Feb 2009 11:54:41 +0000 (12:54 +0100)]
FRM is compiled by OMK

Therefore it it is not necessary to modify absolute paths in frm_gui.pro.

15 years agoMerge branch 'master' of molnam1@rtime.felk.cvut.cz:/var/git/frescor/frsh_forb
Martin Molnar [Sun, 15 Feb 2009 17:45:26 +0000 (18:45 +0100)]
Merge branch 'master' of molnam1@rtime.felk.cvut.cz:/var/git/frescor/frsh_forb

Conflicts:

frsh_api/tests/Makefile.omk

15 years agoAdded fwp test with frsh_forb
Martin Molnar [Sun, 15 Feb 2009 17:17:40 +0000 (18:17 +0100)]
Added fwp test with frsh_forb

15 years agoError handling and parameters retrival functions added.
Dario Faggioli [Mon, 9 Feb 2009 10:13:38 +0000 (11:13 +0100)]
Error handling and parameters retrival functions added.

The error handling (especially in case of bad arguments) of the FRSH
core API functions dealing with contract parameters. All the
frsh_contract_get_* variants of the (already present)
frsh_contract_set_* functions have been added too.

Signed-off-by: Michal Sojka <sojkam1@fel.cvut.cz>
15 years agoAdded fwp sender and receiver test programs
Martin Molnar [Thu, 12 Feb 2009 01:07:36 +0000 (02:07 +0100)]
Added fwp sender and receiver test programs

15 years agoFRM: Utilization for GUI moved to scenarie, where admission test can access it
Michal Sojka [Wed, 11 Feb 2009 08:15:47 +0000 (09:15 +0100)]
FRM: Utilization for GUI moved to scenarie, where admission test can access it

15 years agoFRM publishes resource utilization for GUI
Michal Sojka [Wed, 11 Feb 2009 07:27:30 +0000 (08:27 +0100)]
FRM publishes resource utilization for GUI