]> rtime.felk.cvut.cz Git - frescor/frsh.git/commit
Further improvements in core API implementation.
authorDario Faggioli <faggioli@gandalf.sssup.it>
Wed, 25 Feb 2009 07:57:15 +0000 (08:57 +0100)
committerMichal Sojka <sojkam1@fel.cvut.cz>
Sun, 1 Mar 2009 18:09:43 +0000 (19:09 +0100)
commitbf8cf07136f97f7c214417a04c9f37cb1de3527a
treec4e383f2cabb4b75c2055ad6f3eac593f6118f83
parent1ed61f5d89a22e2c136523b0b56919d134d99f94
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>
fres/resalloc/fra_generic.c
fres/resalloc/fra_generic.h
fres/resalloc/fres_vres.c
fres/resalloc/fres_vres.h
frsh_api/Makefile.omk
frsh_api/frsh_contract.c
frsh_api/frsh_core.c
frsh_api/frsh_thread.c
frsh_api/frsh_vres.c [new file with mode: 0644]
resources/cpu_aquosa/lib/frsh_aqcpu.c
resources/cpucg/lib/frsh_cpucg.c