Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: Attansic(R) L2 Ethernet Network Driver - ATL2 problém [vyřešeno]  (Přečteno 2750 krát)

Petr Merlin Vaněček

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 5057
    • Lomítkáři
Jedná se o PCIe/Integrovanou síťovou kartu většinou na MB Asusu, při větším zatížení (nejlépe pomocí SMB protokolu) jsou do syslogu generovány následující hlášky:
Kód: [Vybrat]
Mar 22 11:55:46 server kernel: [  156.586609] eth0: txs packet size do not coinsist with txd txd_:0x00000531, txs_:0x000105ea!                               
Mar 22 11:55:46 server kernel: [  156.586615] txd read ptr: 0x1784                                                                                           
Mar 22 11:55:46 server kernel: [  156.586617] txs-behind:0x800105ea                                                                                         
Mar 22 11:55:46 server kernel: [  156.586620] txs-before:0x000105ea                                                                                         
Mar 22 11:55:46 server kernel: [  156.586623] eth0: txs packet size do not coinsist with txd txd_:0x501569b5, txs_:0x000105ea!                               
Mar 22 11:55:46 server kernel: [  156.586626] txd read ptr: 0x1cbc                                                                                           
Mar 22 11:55:46 server kernel: [  156.586628] txs-behind:0x800105ea                                                                                         
Mar 22 11:55:46 server kernel: [  156.586630] txs-before:0x000105ea                                                                                         
Mar 22 11:55:46 server kernel: [  156.586633] eth0: txs packet size do not coinsist with txd txd_:0x30000018, txs_:0x000105ea!                               
Mar 22 11:55:46 server kernel: [  156.586636] txd read ptr: 0x1e78                                                                                           
Mar 22 11:55:46 server kernel: [  156.586638] txs-behind:0x80010249                                                                                         
Mar 22 11:55:46 server kernel: [  156.586640] txs-before:0x000105ea                                                                                         
Mar 22 11:55:46 server kernel: [  156.586643] eth0: txs packet size do not coinsist with txd txd_:0xe0156a88, txs_:0x00010249!                               
Mar 22 11:55:46 server kernel: [  156.586646] txd read ptr: 0x1e94                                                                                           
Mar 22 11:55:46 server kernel: [  156.586648] txs-behind:0x800105ea                                                                                         
Mar 22 11:55:46 server kernel: [  156.586650] txs-before:0x000105ea                                                                                         
Mar 22 11:55:46 server kernel: [  156.586653] eth0: txs packet size do not coinsist with txd txd_:0x74000000, txs_:0x000105ea!                               

uzavřené watchdogem, který resetuje síťovou kartu (dojde k modprobe -r atl2):
Kód: [Vybrat]
Mar 22 11:55:51 server kernel: [  161.917051] NETDEV WATCHDOG: eth0: transmit timed out                                                                     
Mar 22 11:55:53 server kernel: [  163.529873] ATL2: eth0 NIC Link is Up<100 Mbps Full Duplex>                                                               

Díky tomu dojde k několikavteřinovému výpadku sítě, což je velice nemilé. Na vině je velikost TX bufferu pro příjem paketu, který je ve výchozí hodnotě příliš malý. Pomůže jej navýšit pomocí parametru při loadování modulu:
/etc/modprobe.d/options
Kód: [Vybrat]
...
options atl2 TxMemSize=64

Dokumentace uvádí tento parametr v rozmezí 4-64, výchozí hodnota 8. Pokud je hodnota 64 příliš veliká (nenačte se modul), snižte ji.
Další dobré zkušenosti jsem měl s přidáním parametru RxMemBlock - výrazné zvýšení propustnosti.
/etc/modprobe.d/options
Kód: [Vybrat]
...
options atl2 TxMemSize=64 RxMemBlock=512
Hodnota mezi 16-512, výchozí 64

Protože se jedná o popsaný bug
http://groups.google.com/group/linux.debian.bugs.dist/browse_thread/thread/fa05351d6c565ec6/60c598d6a393a73b
leč jen v angličtině, rád bych, aby tato zpráva pomohla i jiným hledajícím, zde je tedy můj pokus o angličtinu :)

There is problem about this PCIe/Integrated network card mostly implemented on ASUS MBs - in case of highly load (mainly observed with SMB protocol) are genereted this erros into syslog:
Kód: [Vybrat]
Mar 22 11:55:46 server kernel: [  156.586609] eth0: txs packet size do not coinsist with txd txd_:0x00000531, txs_:0x000105ea!                               
Mar 22 11:55:46 server kernel: [  156.586615] txd read ptr: 0x1784                                                                                           
Mar 22 11:55:46 server kernel: [  156.586617] txs-behind:0x800105ea                                                                                         
Mar 22 11:55:46 server kernel: [  156.586620] txs-before:0x000105ea                                                                                         
Mar 22 11:55:46 server kernel: [  156.586623] eth0: txs packet size do not coinsist with txd txd_:0x501569b5, txs_:0x000105ea!                               
Mar 22 11:55:46 server kernel: [  156.586626] txd read ptr: 0x1cbc                                                                                           
Mar 22 11:55:46 server kernel: [  156.586628] txs-behind:0x800105ea                                                                                         
Mar 22 11:55:46 server kernel: [  156.586630] txs-before:0x000105ea                                                                                         
Mar 22 11:55:46 server kernel: [  156.586633] eth0: txs packet size do not coinsist with txd txd_:0x30000018, txs_:0x000105ea!                               
Mar 22 11:55:46 server kernel: [  156.586636] txd read ptr: 0x1e78                                                                                           
Mar 22 11:55:46 server kernel: [  156.586638] txs-behind:0x80010249                                                                                         
Mar 22 11:55:46 server kernel: [  156.586640] txs-before:0x000105ea                                                                                         
Mar 22 11:55:46 server kernel: [  156.586643] eth0: txs packet size do not coinsist with txd txd_:0xe0156a88, txs_:0x00010249!                               
Mar 22 11:55:46 server kernel: [  156.586646] txd read ptr: 0x1e94                                                                                           
Mar 22 11:55:46 server kernel: [  156.586648] txs-behind:0x800105ea                                                                                         
Mar 22 11:55:46 server kernel: [  156.586650] txs-before:0x000105ea                                                                                         
Mar 22 11:55:46 server kernel: [  156.586653] eth0: txs packet size do not coinsist with txd txd_:0x74000000, txs_:0x000105ea!                               

closed by watchdog reseting network card (via modprobe -r atl2 ?):
Kód: [Vybrat]
Mar 22 11:55:51 server kernel: [  161.917051] NETDEV WATCHDOG: eth0: transmit timed out                                                                     
Mar 22 11:55:53 server kernel: [  163.529873] ATL2: eth0 NIC Link is Up<100 Mbps Full Duplex>                                                               

This causes really bad network shutdown for a few secons. The problem is in the size of TX buffer for receiving packets, which is too small. To solve this problem you have to increase this buffer with parameter added to module during the module loading.
/etc/modprobe.d/options
Kód: [Vybrat]
...
options atl2 TxMemSize=64

The documentation provide info about TxMemSize value between 4 - 64, default value is 8. If the value 64 too big (the module is not loaded), decrease it. I have another good results with RxMemBlock value - there is more performance about throughput.
/etc/modprobe.d/options
Kód: [Vybrat]
...
options atl2 TxMemSize=64 RxMemBlock=512
Value is between 16 and 512, defalt is 64
« Poslední změna: 22 Března 2008, 16:40:54 od Petr 'Merlin' Vaněček »
Stiskni CTRL + W ...
80% mozku tvoří kapalina ... u některých brzdová

 

Provoz zaštiťuje spolek OpenAlt.