taskTransport Sample Protocol - Tasks: task #7409, Port TSP core for RTEMS OS

 
 

You are not allowed to post comments on this tracker with your current authentication level.

task #7409: Port TSP core for RTEMS OS

Submitter:  Eric NOULARD <erk>
Submitted:  Fri 26 Oct 2007 08:07:54 PM UTC
   
 
Category:  tsp core Should Start On:  Thu 25 Oct 2007 10:00:00 PM UTC
Should be Finished on:  Thu 25 Oct 2007 10:00:00 PM UTC Priority:  5 - Normal
Status:  In Progress Privacy:  Public
Assigned to:  deweerdt Percent Complete:  30%
Open/Closed:  Open Effort:  0.00

Jump to the original submission

Tue 25 Mar 2008 10:40:29 PM UTC, comment #10: 

Bon les amis j'ai une bonne piste pour le
"mauvais dimensionnement du buffer d'envoi socket".

Stéphane peux-tu "simplement" faire
ce changement dans tsp_const_def.h

remplacer:


/** used to calculate the socket buffer size */
#define TSP_DATA_STREAM_MAX_HEADER_SIZE 1024


par

/**
 * This ill-named 'header' size is the size
 * needed for encoding group header which
 *        an int for timestamp
 *        an int for group id (normal or reserved)
 * This is used to calculate socket buffer size.
 */
#define TSP_DATA_STREAM_MAX_HEADER_SIZE 2*sizeof(int)


A priori ça marche chez moi et ça devrait
marcher chez tout le monde mais avant de coller la modif
dans le CVS je vais faire un appel au peuple
pour test.

J'attache un petit fichier texte qui décrit mon cheminement
dans le code (ne le lisez pas :-)

Concernant "la récupération" de la mémoire, je pense
qu'on ne peut pas y faire grand chose le PC et "beaucoup"
plus rapide qu'une cible embarquée quelconque.

Ce que l'on devrait faire c'est être tolérant aux cas
d'erreur d'allocation mémoire.
Je vais ouvrir un bug à ce sujet.

Stéphane, tiens nous au courant de tes tests avec cette nouvelle
valeur magique.

Avec ça tu devrais avoir des buffer d'envoi de 23kB
pour 1 symbole.

Puis tu ajoutes 8kB par symbole 'double' suplémentaire
8kB = 8 10 100
8 = sizeof(double)
10 = 10 secondes de buffer
100 = 100 Hz

le 10 seconde est arbitraire et on pourrait le changer aussi
c'est
TSP_STREAM_SENDER_RINGBUF_SIZE

qui vaut 10, sauf pour VxWorks ou il vaut 2 aller
savoir pourquoi...


Eric NOULARD <erk>
Group administrator
Tue 18 Mar 2008 12:24:17 PM UTC, comment #9: 

Comme les pbs subsistent lorsque que plus de 'n' symboles
sont demandés c'est qu'il y a probablement un pb
de dimensionnement de buffer,

ce que nous avons déjà eu par le passé:
https://savannah.nongnu.org/bugs/?19008
https://savannah.nongnu.org/bugs/?16629

Je pense qu'il faut examiner dans les cas qui marche
ou qui ne marche pas la taille des différents
buffer calculée par le core TSP:

on le voit principalement dans des traces du genre:

Stream sender ringbuf size will be : 640 items (i.e. 10 seconds)
Channel Id <0> has Max TSP Group Size <8> byte(s)
Using RINBUF size of <640> byte(s)


Il faut donc contrôler les règles de calculs
de
TSP_DATA_STREAM_MAX_BUFFER_SIZE
RINGBUF_SIZE
TSP_CONSUMER_RINGBUF_SIZE
TSP_DATA_STREAM_SOCKET_FIFO_SIZE
TSP_STREAM_SENDER_RINGBUF_SIZE
...

Eric NOULARD <erk>
Group administrator
Wed 12 Mar 2008 05:48:41 PM UTC, comment #8: 

Je change l'assignation de la tâche vu que Fred
a commencé le merge :=)

Sinon vis-à-vis des dump binaire je peux les lire
sans pb dans Wireshark ce qui est plus simple à dépouiller.
Dans le premier:
https://savannah.nongnu.org/task/download.php?file_id=15246

on voit bien la connection au provider sur le port 1024.
juste après la requête DNS qui échoue.

dans le second:
pas de connection visible...

Par contre dans les 2 traces mon wireshark me dit qu'il
ne peut vérifier les checksum de certains paquets car la
capture est incomplète...

Est-ce que tu n'aurais pas des pertes de paquets sur ton
lien? (cable ethernet merdique?)
Peux-tu regarder ce que dise les stats de ton interface
côté Linux?

Il se peut que tu n'exécute pas tcpdump avec des droits
suffisants.
Peux-tu exécuter ton tcpdump en root pour qu'il ait
le droit de mettre l'I/F en mode promiscuous?

Eric NOULARD <erk>
Group administrator
Mon 25 Feb 2008 05:19:24 PM UTC, comment #7: 

Voici une version allégée (sans fichiers parasites) et corrigé (s'applique bien sur une 0.8.3).
Ca ne s'applique pas sur le dernier CVS, il y a 18 hunks en conflit.

Stéphane est-ce que tu peux faire la chose suivante:
- Récupérer un TSP 0.8.3 (cvs co <url cvs tsp> -r TSP_0_8_3)
- Appliquer le fichier attaché (patch -p1 < rtems.patch)
- Effectuer les corrections suivantes:
  * Ne pas include <sys/types.h> dans les fichiers C, le faire une fois pour toute dans tsp_abs_types.h
  * Vérifier que les diffs dûs à WIN32 -> _WIN32 sont inutiles, et les supprimer du fichier diff final
- Renvoyer le résultat en lançant un simple 'cvs diff -u' à la racine de l'arbo



(file #15109)

Frederik Deweerdt <deweerdt>
Group administrator
Mon 25 Feb 2008 10:47:46 AM UTC, comment #6: 

Ok j'ai "nettoyer" un peu ton patch pour qu'il soit
moins gros bien que fonctionnellement équivalent.
Y'a encore quelques cochonneries (fichiers ~ notamment)
mais ça passe en taille.

(file #15108)

Eric NOULARD <erk>
Group administrator
Mon 25 Feb 2008 08:38:45 AM UTC, comment #5: 

Salut Stéphane,

Je ne suis pas sûr que tu ais ajouté ton patch?
Il y avait déjà un patch d'attaché:
https://savannah.nongnu.org/task/download.php?file_id=14244

mais il me semble qu'il date ?
Peux-tu confirmer que ce patch est à jour?

Eric NOULARD <erk>
Group administrator
Mon 25 Feb 2008 08:07:23 AM UTC, comment #4: 

Voici le diff -urN  entre mon arbre tsp modifié : tsp-0.8.3-Source-Rtems et tsp-0.8.3.

Stéphane ARQUER <arquers>
Thu 22 Nov 2007 01:30:04 PM UTC, comment #3: 

dans init_bb_tsp_rtems.c
tu as un petit problème dans l'affichage
 Tata qui utilise en fait Toto[i]
avec un i qui devient supérieur aux bornes
de Toto (dimension 3 et pas 9)

for (i=0;i<9;++i) {
    Tata[i] = cos(*Titi/(i+1));
printf("@Tata = 0x%x, Tata[%d] = %d\n",(unsigned int)&Toto[i],i,Toto[i]);
  }

Ca ne devrait pas provoquer le pb car
printf ne fait que "lire" Toto[i] mais bon
comme printf est une fonction avec effet de bord
je te suggère de corriger.

Je n'ai pas encore eu le temps d'éplucher le reste
des sources.



Eric NOULARD <erk>
Group administrator
Tue 13 Nov 2007 04:05:56 PM UTC, comment #2: 

Voici le contenu de libbb .


(file #14381)

Stéphane ARQUER <arquers>
Sat 03 Nov 2007 12:12:12 PM UTC, comment #1: 

Ok I've tried an integration of the patch
but I think this patch is not acceptable as_is
I did only merge part of it.
My remarks hereafter:

There is too much #ifdef TSP_RTEMS for #include <sys/types.h>
that should only go in a single place

either

tsp_sys_header.h (add #include <sys/types.h> in the file)
or
add
tsp_abs_types.h inclusion since tsp_abs_types.h
already contains the #include <sys/types.h>.

Concerning the RPC with no portmap
I think we need to implement direct_rpc:// url
handling instead of using rpc:// .

There is more work for merging this too.


Eric NOULARD <erk>
Group administrator
Fri 26 Oct 2007 08:07:54 PM UTC, original submission:  


Stephane ARQUER did make TSP work on RTEMS/pc_i386
(http://www.rtems.org).

The objective of the task is to integrate
his work in the main tree.

http://lists.nongnu.org/archive/html/tsp-devel/2007-10/msg00016.html

May be with added support for CMake cross-compile
for RTEMS and adding a
direct_rpc:// command channel that would not use
rpc portmapper but use an application chosen port.


Eric NOULARD <erk>
Group administrator

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attached Files
file #15437:  traces tsp 10-04-08.txt added by arquers (6KiB - text/plain)
file #15326:  stub server rtems.zip added by arquers (12KiB - application/x-zip-compressed)
file #15246:  tcpdump_stdout.bin added by arquers (18KiB - application/octet-stream - fichiers binaires tcpdump client stdout avec s1 et s5)
file #15247:  tcpdump_stdout_s5.bin added by arquers (15KiB - application/octet-stream - fichiers binaires tcpdump client stdout avec s1 et s5)
file #15230:  tcpdump.txt added by arquers (24KiB - text/plain)
file #15231:  traces clients.txt added by arquers (833B - text/plain)
file #15232:  traces provider.txt added by arquers (7KiB - text/plain)
file #15233:  traces 5 symboles .txt added by arquers (5KiB - text/plain)
file #15220:  trace stub.txt added by arquers (6KiB - text/plain)
file #15192:  Makefile added by arquers (10KiB - application/octet-stream - Makefile pour créer les librairies TSP )
file #15188:  rtems.diff added by arquers (40KiB - application/octet-stream)
file #15169:  erreurs compilation added by arquers (15KiB - application/octet-stream)
file #15168:  rtems.diff added by arquers (41KiB - application/octet-stream)
file #15109:  rtems added by deweerdt (33KiB - application/octet-stream)
file #15108:  diff_rtems-22feb2008.patch.gz added by erk (106KiB - application/x-gzip - Updated (pruned) patch)
file #14458:  init_bb_tsp_rtems.c added by arquers (6KiB - application/octet-stream - code de test du BB sur rtems, + traces avec bbdump)
file #14459:  bb_tsp_log_2.TXT added by arquers (9KiB - text/plain - code de test du BB sur rtems, + traces avec bbdump)
file #14455:  bb_tsp_log.TXT added by arquers (46KiB - text/plain - Traces de TSP)
file #14381:  Libbb_rtems.zip added by arquers (119KiB - application/x-zip-compressed)
file #14244:  tsp-0.8.3-rtems.patch added by arquers (447KiB - application/octet-stream - Here the patch file containing my modifications)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by deweerdt (Updated the item)
  • -email is unavailable- added by arquers (Updated the item)
  • -email is unavailable- added by erk (Submitted the item)
  • -email is unavailable- added by erk (Initial Port maker)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

     

    Follow 25 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2008-04-11 arquers Attached File- Added traces tsp 110408 - async read et write.txt, #15442
    2008-04-10 arquers Attached File- Added traces tsp 10-04-08.txt, #15437
    2008-03-25 erk Percent Complete20% 30%
    2008-03-24 arquers Attached File- Added stub server rtems.zip, #15326
    2008-03-12 erk Assigned toerk deweerdt
    2008-03-12 arquers Attached File- Added tcpdump_stdout.bin, #15246
        Attached File- Added tcpdump_stdout_s5.bin, #15247
    2008-03-11 arquers Attached File- Added tcpdump.txt, #15230
        Attached File- Added traces clients.txt, #15231
        Attached File- Added traces provider.txt, #15232
        Attached File- Added traces 5 symboles .txt, #15233
    2008-03-10 arquers Attached File- Added trace stub.txt, #15220
    2008-03-06 arquers Attached File- Added Makefile, #15192
    2008-03-05 arquers Attached File- Added rtems.diff, #15188
    2008-03-03 arquers Attached File- Added erreurs compilation, #15169
    2008-03-03 arquers Attached File- Added rtems.diff, #15168
    2008-02-25 deweerdt Attached File- Added rtems, #15109
    2008-02-25 erk Attached File- Added diff_rtems-22feb2008.patch.gz, #15108
    2007-11-22 arquers Attached File- Added init_bb_tsp_rtems.c, #14458
        Attached File- Added bb_tsp_log_2.TXT, #14459
    2007-11-21 arquers Attached File- Added bb_tsp_log.TXT, #14455
    2007-11-13 arquers Attached File- Added Libbb_rtems.zip, #14381
    2007-11-03 erk Assigned toNone erk
    2007-10-29 arquers Attached File- Added tsp-0.8.3-rtems.patch, #14244
    2007-10-26 erk Carbon-Copy- Added -email is unavailable-

    Back to the top

    Powered by Savane 3.13-4448.
    Corresponding source code