Changeset 3764 in Sophya for trunk/AddOn
- Timestamp:
- May 3, 2010, 9:11:20 AM (15 years ago)
- Location:
- trunk/AddOn/TAcq
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/AddOn/TAcq/acqparam_exemple.d
r3760 r3764 49 49 # @ethrnlink 4 50 50 ethrnlink 4 51 ## No de port TCP/IP et taille des blocs lors des transferts sur ethernet51 ## No de port TCP/IP 52 52 # @tcpportid 6912 53 # @ethtrbsz 102454 53 tcpportid 6912 55 ethtrbsz 102456 54 # Pour desactiver l'ecriture des fichiers FITS 57 55 # @nosavesigfits -
trunk/AddOn/TAcq/brparam.cc
r3760 r3764 134 134 135 135 tcpportid=BRSPORTID; 136 eth_transfer_blksz=1024;137 136 pci2eth_fgdirect=false; 138 137 ethr_nlink = 0; … … 192 191 193 192 tcpportid=p.tcpportid; 194 eth_transfer_blksz=p.eth_transfer_blksz;195 193 pci2eth_fgdirect=p.pci2eth_fgdirect; 196 194 eths_targets=p.eths_targets; … … 232 230 // Mot cle pour le mode envoi-reception sur ethernet 233 231 tcpportid=conf.IParam("tcpportid",0,BRSPORTID); 234 eth_transfer_blksz=(size_t)conf.IParam("ethtrbsz",0,1024);235 232 if (conf.HasKey("pci2ethdirect")) pci2eth_fgdirect = true; // Transfer direct DMA -> Ethernet 236 233 if (conf.HasKey("ethrtargets")) { // Machines destinations des paquets … … 348 345 } 349 346 if (eths_targets.size()>0) { 350 cout << " DMA->Ethernet NbTargets=" << eths_targets.size() << ((pci2eth_fgdirect)?" (DirectTransferMode) " : " " ) << " :" << endl; 347 cout << " DMA->Ethernet NbTargets=" << eths_targets.size() 348 << ((pci2eth_fgdirect)?" (DirectTransferMode) " : " " ) << " :"; 351 349 for(size_t it=0; it<eths_targets.size(); it++) cout << eths_targets[it] << " , "; 352 350 cout << endl; 353 351 } 354 cout << " EthernetRead NbSources (=NbLinks)= " << ethr_nlink << endl;352 cout << " TCP-PortId=" << tcpportid << " EthernetRead NbSources (=NbLinks)= " << ethr_nlink << endl; 355 353 if (fgdoProc>0) 356 354 os << " Monitoring NMeanProc=" << nmeanProc << " StepProc=" << stepProc << " NMaxProc=" << nmaxProc << endl; -
trunk/AddOn/TAcq/brparam.h
r3760 r3764 160 160 // ---- Variables specifiques em mode transfert DMA vers Ethernet 161 161 int tcpportid; // No de port TCP/IP 162 size_t eth_transfer_blksz; //taille des blocs pour le transfert a travers ethernet163 162 // Cote Send DMA -> Ethernet 164 163 bool pci2eth_fgdirect; // true -> direct transfer DMA to Ethernet -
trunk/AddOn/TAcq/mfacq.cc
r3761 r3764 295 295 PCIEToEthernet pci2eth(vec_pciw, bpar.GetParams().GetEthTargets(), bpar.GetParams(), bpar.GetParams().tcpportid); 296 296 pci2eth.SetPrintLevel(1); 297 pci2eth.SetEthSendBlockSize(bpar.GetParams().eth_transfer_blksz);298 297 // usleep(200); attente au cas ou ... 299 298 pPcie2Eth=&pci2eth; … … 348 347 cout << "mfacq[3] Creating EthernetReader thread object " << endl; 349 348 EthernetReader ethrdr(mmgr, bpar.GetParams(), bpar.GetParams().tcpportid, false); 350 ethrdr.SetEthRecvBlockSize(acpar.eth_transfer_blksz);351 349 352 350 // usleep(200); attente au cas ou ... -
trunk/AddOn/TAcq/racqueth.cc
r3763 r3764 64 64 } 65 65 totrdsnd_ = 0; 66 SetEthSendBlockSize();67 66 SetPrintLevel(); 68 67 } … … 336 335 for(size_t j=0; j<vskt.size(); j++) { 337 336 rc += vskt[j].SendAll((const char *)data, len); 338 totrdsnd_ += eths_bsz_;337 totrdsnd_ += len; 339 338 } 340 339 vec_cntpaq_[fib]++; 341 340 return rc; 342 /*343 if (eths_bsz_<16) {344 for(size_t j=0; j<vskt.size(); j++) {345 rc += vskt[j].SendAll((const char *)data, len);346 totrdsnd_ += eths_bsz_;347 }348 vec_cntpaq_[fib]++;349 return rc;350 }351 size_t nblk = len/eths_bsz_;352 size_t fblk = len%eths_bsz_;353 size_t off = 0;354 if (nblk>0) {355 for(size_t i=0; i<nblk; i++) {356 for(size_t j=0; j<vskt.size(); j++) {357 rc += vskt[j].SendAll((const char *)data+off, eths_bsz_);358 totrdsnd_ += eths_bsz_;359 }360 off += eths_bsz_;361 }362 }363 if (fblk>0) {364 for(size_t j=0; j<vskt.size(); j++) {365 rc += vskt[j].SendAll((const char *)data+off, fblk);366 totrdsnd_ += fblk;367 }368 }369 vec_cntpaq_[fib]++;370 return rc;371 */372 341 } 373 342 //------------------------------------------------------------------ … … 423 392 } 424 393 425 SetEthRecvBlockSize();426 394 SetPrintLevel(); 427 395 } … … 565 533 vec_cntpaq_[fib]++; 566 534 567 /* 568 if (ethr_bsz_<16) { 569 rc += vsok_[fib].ReceiveAll(data, len); 570 } 571 else { 572 size_t nblk = len/ethr_bsz_; 573 size_t fblk = len%ethr_bsz_; 574 size_t off = 0; 575 if (nblk>0) { 576 for(size_t i=0; i<nblk; i++) { 577 rc += vsok_[fib].ReceiveAll(data+off, ethr_bsz_); 578 off += ethr_bsz_; 579 } 580 } 581 if (fblk>0) { 582 rc += vsok_[fib].ReceiveAll(data+off, fblk); 583 } 584 } 535 /* 536 size_t nblk = len/ethr_bsz_; 537 size_t fblk = len%ethr_bsz_; 538 size_t off = 0; 539 if (nblk>0) { 540 for(size_t i=0; i<nblk; i++) { 541 rc += vsok_[fib].ReceiveAll(data+off, ethr_bsz_); 542 off += ethr_bsz_; 543 } 544 } 545 if (fblk>0) { 546 rc += vsok_[fib].ReceiveAll(data+off, fblk); 547 } 585 548 vec_cntpaq_[fib]++; 586 549 */ 587 550 588 551 if (vec_cntpaq_[fib]%par_.MMgrNbPaquet() == 0) { -
trunk/AddOn/TAcq/racqueth.h
r3762 r3764 57 57 inline void STOP() { stop_ = true; } 58 58 59 inline size_t SetEthSendBlockSize(size_t bsz=1024)60 { size_t rs=eths_bsz_; eths_bsz_=bsz; return rs; }61 59 inline int SetPrintLevel(int lev=0) { prtlev_=lev; return 0;} 62 60 … … 80 78 uint_8 totrdsnd_; 81 79 bool fgdirectsend_; // true -> direct transfer of DMA data to ethernet 82 size_t eths_bsz_; 80 83 81 int prtlev_; 84 82 }; … … 94 92 inline void STOP() { stop_ = true; } 95 93 96 inline size_t SetEthRecvBlockSize(size_t bsz=1024)97 { size_t rs=ethr_bsz_; ethr_bsz_=bsz; return rs; }98 94 inline int SetPrintLevel(int lev=0) { prtlev_=lev; return 0;} 99 95 … … 141 137 Byte* mmbufib_[MAXANAFIB]; // Pointeurs zone memoire de chaque fibre rendu par RAcqMemZoneMgr 142 138 143 size_t ethr_bsz_;144 139 int prtlev_; 145 140 };
Note:
See TracChangeset
for help on using the changeset viewer.