Des traces ont pu isoler que c'était dû à l'utilisation de ping en multicast, et un "fix à l'arrache" a été trouvé au début, qui consistait à désactiver le ping multicast dans le source du driver. Bien entendu, hors de question de commiter ça (alors que c'est une solution qui aurait apparemment été utilisée dans le kernel Linux), mais ça dépannait toujours de manière non officielle.
Mais il y a quelques jours, Brad@ a réussi à trouver le problème et le résoudre. Ca fait plaisir de voir passer ça dans le CVS :
Modified files:
sys/dev/ic : re.c rtl81x9reg.h
Log message:
Set the RX FIFO threshold to no RX threshold for re(4) adapters.
This resolves a number of various bad symptoms experienced by
numerous users especially with the adapters at Gig speed.
Tested by quite a few users.
From FreeBSD/NetBSD
Theo a également ajouté ce fichier sur OPENBSD_4_3. Ca vallait le coup d'effectuer un changement de dernière minute et d'intégrer ce correctif dans la nouvelle release à paraître bientôt :-)
# C'est quoi le "RX FIFO threshold" ?
Posté par Victor STINNER (site web personnel) . Évalué à 2.
[^] # Re: C'est quoi le "RX FIFO threshold" ?
Posté par Jerome Herman . Évalué à 7.
Le RX FIFO threshold (niveau FIFO de reception) est le moment ou l'on juge que le tampon est trop rempli et qu'il faut dire pouce (envoyer un paquet pause)
[^] # Re: C'est quoi le "RX FIFO threshold" ?
Posté par Hank Lords . Évalué à 1.
Le RX FIFO threshold (niveau FIFO de reception) est le moment ou l'on juge que le tampon est trop rempli et qu'il faut dire pouce (envoyer un paquet pause)
Ca me parait etre important comme comportement :) alors est-ce que quelqu'un connait les conséquences de supprimer cette fonction ? (a part de résoudre le problème).
[^] # Re: C'est quoi le "RX FIFO threshold" ?
Posté par psychoslave__ (site web personnel) . Évalué à 2.
Moi ce que j'ai compris c'est qu'avant le pilote ne prévoyais pas le cas où la FIFO était pleine. Et maintenant quand elle est pleine elle envoie un paquet pour dire "laisse moi déjà digérer ça".
[^] # Re: C'est quoi le "RX FIFO threshold" ?
Posté par Jerome Herman . Évalué à 2.
C'est l'inverse, avant on envoyait une interruption à la carte pour qu'elle envoie un paquet "pause", mais l'interruption en question est mal supportée par la carte ce qui peut entrainer un freeze.
Maintenant la carte se met en erreur réception quand elle reçoit un paquet de trop.
Le seul problème avec cette méthode est que la machine qui a émit le paquet va alors le réémettre en boucle jusqu'à ce qu'il passe
# Euh...
Posté par Zenitram (site web personnel) . Évalué à 1.
[^] # Re: Euh...
Posté par Guillaume Knispel . Évalué à 5.
Et c'est sans même compter sur les cartes et chips eux-même, qui s'ils pètent vraiment les plombs peuvent faire exactement la même chose.
[^] # Re: Euh...
Posté par Zenitram (site web personnel) . Évalué à 2.
Plus sérieusement, question idiote : sous Windows, j'ai déjà fait planter des drivers (wifi en l'occurrence), sans mettre à mal l'OS, desactivation/réactivation du pilote et c'était reparti. Certes, ce n'est pas toujours comme ça, mais ça arrive.
Qu'est-ce qui empêche de mettre un driver réseau ailleurs que dans le kernel space très vulnérable pour Linux et/ou BSD? Perf?
[^] # Re: Euh...
Posté par khivapia . Évalué à 2.
Qu'est-ce qui empêche de mettre un driver réseau ailleurs que dans le kernel space très vulnérable pour Linux et/ou BSD?
Rien, ça s'appelle un micro-noyau (par exemple).
C'est un choix de conception pour le noyau Linux si j'ai de bons souvenirs de réponses de Linus Torvalds à ce genre de question (on pourra même se rapporter au débat avec Andrew Tanenbaum aux tous débuts de Linux ;-) )
Perf?
sans aucun doute pour les micro-noyaux, le problème est que mettre un pilote en espace utilisateur va en gros lui faire générer un grand nombre d'appels systèmes, ce qui est une problème pour les performances (passage du mode noyau au mode protégé, etc. etc.)
voir le paragraphe sur les micro-noyaux sur wikipedia, qui est très instructif et très clair : http://fr.wikipedia.org/wiki/Micro-noyau
[^] # Re: Euh...
Posté par khivapia . Évalué à 3.
Merci
[^] # Re: Euh...
Posté par psychoslave__ (site web personnel) . Évalué à 2.
[^] # Re: Euh...
Posté par Guillaume Knispel . Évalué à 2.
Il faut à mon avis plus se concentrer sur de l'informatique fiable à priori (modèles exécutables, langages de très haut niveau performants, preuves formelles, etc...) que sur uniquement des mesures de sûreté mais construites sur du sable !
# Ah bah ouais...
Posté par Sufflope (site web personnel) . Évalué à 8.
Bientôt le commit du fix suprême : retirer le câble d'alim. Plus de freezes intempestifs.
[^] # Re: Ah bah ouais...
Posté par fat_cartman . Évalué à 5.
Mais bon c'est pas mieux!!!!
[^] # Re: Ah bah ouais...
Posté par Anonyme . Évalué à 4.
[^] # Re: Ah bah ouais...
Posté par psychoslave__ (site web personnel) . Évalué à 3.
[^] # Re: Ah bah ouais...
Posté par Anonyme . Évalué à 1.
Après, faut voir la carte en elle-même si c'est pas dû à elle (genre à des fonctions limitées, etc...)
# Re:
Posté par IsNotGood . Évalué à -5.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.