[so2] [IXIA Challange] Initializare transfer
Călin Cruceru
crucerucalincristian at gmail.com
Fri Mar 24 13:58:19 EET 2017
Salut,
2017-03-19 14:38 GMT+02:00 Stefan Alexandru Aldoiu via so2
<so2 at cursuri.cs.pub.ro>:
> Salut,
>
> Am probleme cu intializarea CU-ului, si anume reusesc sa il pornesc(intrucat
> CU-status devine Active-lpq) dar nu resesc sa transmit nici un pachet.
>
> Fazele de initializare abordate:
> (Dupa ce am intializat netdevice,am alocat csr in spatiul io , am alocat
> spatiu consistent
> pentru toate tcb -pasul 1 si 2 din checker functioneaza):
> 1. load_cu_base
> 2. cu_start
> 3. creare tcb pentru config(un pachet gol cu comanda config)
> (la toate am initializat genereal pointer conform manual developer)
>
> Dupa ceva teste observ ca CU-ul nu reuseste sa citeasca comanda din tcb,
> intrucat am plasat bitul de suspent in ea, dar CU-ul ramane Active multi
> timp dupa (>10 sec).
>
Ai rezolvat problema? Ai putea spune de la ce a fost în cazul tău?
Am aceleași simptome.
> Deci, intrebarile ar fi urmatoarele:
>
> 1. Fazele de intializare sunt corecte?
> 2. Am nedumeriri in legatura cu structura unui TCB. Eu am abordat fix
> structura descrisa in
> lab6 MIT. Am observat ca in manual developer se precizeaza ca sa se tina
> cont de aliniere.
> Alinierea este un element critic in implementarea noastra?
> 3. Tot in legatura cu structura TCB din 100.c, observ folosirea unei
> structuri config,care este
> actualizata la plasarea un CB de configurare. Deasemenea, folosirea,si
> configurarea unei astfel de structuri este critica pentru CB-ul de tip
> config?. Trebuie obligatoriu trimis un astfel de CB inainte de send-ul
> efectiv de pachete TCB?
> 4. Pentru alocarea ring-ului DMA, am folosit pci_alloc_consistent si aloc
> liniar TCB la dimensiunea maxima(ethernet). Este o abordare ok, sau mai
> trebuie facut ceva ca CU/RU sa aiba access la acceasta zona de memorie ?
> (mentionez ca ma folosesc de spatiul de adresa intors de dma_handler -
> dma_addr).
> 5. Nu am inteles exact problemele de sincronizare la care ar trebui sa fim
> atenti.
>
Am adaptat [1] self-test-ul din e100.c [2] și îmi pică, ceea ce ar
insemna că... device-ul nu reușește să facă DMA? Nu prea știu ce să
mai încerc de aici.
[1]: http://lxr.free-electrons.com/source/drivers/net/ethernet/intel/e100.c#L676
[2]: https://paste.kde.org/pfu37ypps
Călin
More information about the so2
mailing list