Różnica między txqueuelen a ethtool tx

12

Jaka jest różnica między txqueuelenustawieniem, które można zastosować za pomocą:

ifconfig eth4 txqueuelen 5000
ip link set eth4 txqueuelen 5000

I txustawienie rozmiaru pierścienia, które można zastosować za pomocą:

ethtool -G eth4 tx 4096

Jak odnoszą się one do /proc/sys/net/core/wmem*ustawień globalnych ?

Jestem na RHEL6.

Christopher Neylan
źródło

Odpowiedzi:

6

net.core.wmem_defaultI wmem_maxustawienia kontroli wstępnej oraz maksymalny rozmiar TX buforami gniazdowych w bajtach. Chociaż sama kolejka jest tylko połączoną listą skbwskaźników, jądro śledzi również całkowity rozmiar bajtów zużywanych przez te skb, gdy są one dodawane i usuwane z bufora gniazda. wmem_defaultSysctl ustawia domyślny początkowy pułap dla nowych gniazd ( net/core/sock.c:sock_init_data()). Aplikacje mogą zwiększać rozmiar buforów swoich gniazd i wmem_maxstanowi pułap dla tej funkcjonalności ( net/core/sock.c:sock_setsockopt()).

Gdy pakiet zostanie usunięty z bufora gniazda i znajdzie drogę przez stos sieci jądra, zostaje umieszczony w kolejce transmisji, aby interfejs czekał na załadowanie do samej karty sieciowej. txqueuelenWyznaczonym przez ifconfigczy ippolecenie jest liczba ramek może zawierać pojedynczy jądra kolejki transmisji dla kolejkowania ( net/sched/sch_generic.c:pfifo_fast_enqueue()).

Na koniec ethtool -Gużywa ioctl do ustawienia liczby wpisów dzwonka dla bufora dzwonka w samej karcie sieciowej.

Christopher Neylan
źródło
2

Wiem, że powinienem podać długie wytłumaczenie, ale D an Seimon już to zrobił . W skrócie txqueuelento rozmiar bufora. Wszystkie pakiety sieciowe mieszczą się w tym buforze, podczas gdy txjest to rozmiar pakietu IP, który trafia do tego bufora. To znaczy, jeśli dobrze rozumiem ten post.

eyoung100
źródło