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:
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):
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...
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...
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/60c598d6a393a73bleč 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:
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 ?):
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...
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...
options atl2 TxMemSize=64 RxMemBlock=512
Value is between 16 and 512, defalt is 64