[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Tsp-devel] [RFC] Modifications à venir sur le black board
From: |
Frederik Deweerdt |
Subject: |
[Tsp-devel] [RFC] Modifications à venir sur le black board |
Date: |
Mon, 17 Jul 2006 11:31:12 +0200 |
Salut liste,
J'ai un prototype de black board dans le kernel qui "marche" (c'est à
dire que les appels bb_tools fonctionnent et qu'on peut y mettre un
tsp_bb_provider dessus).
Côté kernel, l'API est la même que côté user: bb_create,
bb_simple_publish, du côté des outils bb, il suffit de donner le
device bb associé: bb_tools bb_dump /dev/bb0.
C'était pour la bonne nouvelle :).
La mauvaise c'est que les changements sont assez intrusifs : le diff
fait près de 60Ko. Voici un petit résumé des impacts:
1) des #ifdef __KERNEL__ autour des include espace utilisateur
2) des #ifdef __KERNEL__ autour des doubles et float
3) déplacement de la partie SysV de bb_core dans bb_core_sysv.c
4) ajout du code kernel proprement dit dans bb_module.c et bb_core_k.c
5) ajout dans bb_core une couche d'abstraction entre l'API bb_* et
l'implémentation propremment dite par l'intermédiaire des struct
bb_operations.
6) modifs nécessaires dans les CMakeLists.txt pour compiler le module
à la demande
Avez vous une préférence pour le timing ou la façon d'intégrer les
modifs. Je voyais les trois possibilités suivantes:
- je commite uniquement 3 et 5, pas de code kernel, on laisse passer
une version de TSP, puis on voit pour la suite
- je poste les patches sur la liste, scindés en entités logiques
(grosso modo le découpage ci-dessous), et on commite une fois que tout
le monde à relu et approuvé.
- je commite tout et chacun pourra essayer à partir de l'arbo, tout ça.
A+
Fred
PS: un screen schot:
$ bb_tools bb_dump /dev/bb1
============= <[begin] BlackBoard [bb_test2] [begin] > ===============
@start blackboard = 0xb7f49000
stored data = 1 / 2 [max desc]
free data size = 196 / 200
@data_desc = 0xb7f49134
@data = 0xb7f4928c
================ < [begin] Data [begin] > ==================
---------- < bb_test2_variable > ----------
alias-target = -1
type = 5 (int32_t)
dimension = 1
type_size = 4
data_offset = 0
value = 53
---------- ---------- ----------
================== < [end] Data [end] > ====================
============== < [end] BlackBoard [bb_test2] [end] > ================
- [Tsp-devel] [RFC] Modifications à venir sur le black board,
Frederik Deweerdt <=