Bonjour,
J'ai des ralentissements importants qui occasionnent des saccades lorsque
j'ai des accès disques importants comme la copie d'un gros (plusieurs
dizaines de Mo) fichier ou sa lecture.
Ces ralentissements créés des saccades dans tous les autres programmes. Pour
le son et la vidéo il y a des coupures et pour les autres, la souris est
bloquée et le rafraîchisement des fenêtres n'est plus effectués. Ces
coupures durents quelques fractions de secondes, mais elles sont
nombreuses. Et cela tant que les accès disques durent.
Je suis sous Mandrake 10 Officiel et utilise KDE 3.2. Pour le matériel j'ai
un Athlon 1200 avec 380 Mo de RAM.
Si quelqu'un avait une idée pour régler ce problème, car c'est vraiment
embêtant, car à part cela, tout fonctionne très bien.
Le problème, c'est que l'interaction entre le mode PIO et le bus PCI est une catastrophe à cause des caractéristiques de ce dernier qui limite le débit possible à une valeur bien inférieure à ce qu'ils permettent pris séparément. Sans compter l'énorme occupation CPU.
En quoi les accès I/O du bus PCI sont ils plus lents que sans bus PCI ? Je pense que le problème majeur est l'occupation CPU.
Je ne pense pas, la puissance du CPU est suffisante pour effectuer des transferts mémoire à des débits largement supérieurs aux 8 Mo/s observés.
De plus, les accès DMA sont les mêmes que les accès sans DMA, la seule différence étant qu'ils se font en "background" et que le CPU peut faire autre chose en attendant la fin du transfert...
Non, c'est très loin d'être la seule différence. Il faut savoir une chose sur le bus PCI : les adresses et les données étant multiplexées sur les mêmes lignes, il est optimisé pour les accès séquentiels (lecture ou écriture à des adresses consécutives) qu'on appelle "rafales" (burst). C'est uniquement dans le cas de rafales longues que le débit utile peut approcher des 132 Mo/s car l'adresse n'est transmise qu'une fois au début de chaque rafale. Par contre ses performances sont beaucoup moins bonnes en accès aléatoire car l'adresse doit être transmise avant chaque mot de donnée.
En mode PIO, le CPU transfère les données sur le port de données du contrôleur IDE, toujours à la même adresse I/O. Par conséquent les accès I/O sont obligatoirement de type séquentiel : il faut après chaque mot retransmettre l'adresse du port de données sur le bus PCI sinon le transfert se ferait avec l'adresse suivante qui n'est pas le port de données. Le CPU doit aussi transférer les données avec la mémoire, mais cela se fait sur un bus spécifique du northbridge.
En mode DMA, le maître du bus est le contrôleur IDE. Ce n'est pas son adresse I/O mais les adresses de la zone mémoire contenant les données qui passent sur le bus PCI. Comme le contrôleur transfère directement les données à des adresses mémoire consécutives, il peut utiliser le mode rafale permettant d'obtenir toute l'efficacité du bus PCI.
no_spam wrote:
Le problème, c'est que l'interaction entre le mode PIO et le bus PCI est
une catastrophe à cause des caractéristiques de ce dernier qui limite le
débit possible à une valeur bien inférieure à ce qu'ils permettent pris
séparément. Sans compter l'énorme occupation CPU.
En quoi les accès I/O du bus PCI sont ils plus lents que sans bus PCI ?
Je pense que le problème majeur est l'occupation CPU.
Je ne pense pas, la puissance du CPU est suffisante pour effectuer des
transferts mémoire à des débits largement supérieurs aux 8 Mo/s observés.
De plus, les accès DMA sont les mêmes que les accès sans DMA, la seule
différence étant qu'ils se font en "background" et que le CPU peut faire
autre chose en attendant la fin du transfert...
Non, c'est très loin d'être la seule différence.
Il faut savoir une chose sur le bus PCI : les adresses et les données
étant multiplexées sur les mêmes lignes, il est optimisé pour les accès
séquentiels (lecture ou écriture à des adresses consécutives) qu'on
appelle "rafales" (burst). C'est uniquement dans le cas de rafales
longues que le débit utile peut approcher des 132 Mo/s car l'adresse
n'est transmise qu'une fois au début de chaque rafale. Par contre ses
performances sont beaucoup moins bonnes en accès aléatoire car l'adresse
doit être transmise avant chaque mot de donnée.
En mode PIO, le CPU transfère les données sur le port de données du
contrôleur IDE, toujours à la même adresse I/O. Par conséquent les accès
I/O sont obligatoirement de type séquentiel : il faut après chaque mot
retransmettre l'adresse du port de données sur le bus PCI sinon le
transfert se ferait avec l'adresse suivante qui n'est pas le port de
données. Le CPU doit aussi transférer les données avec la mémoire, mais
cela se fait sur un bus spécifique du northbridge.
En mode DMA, le maître du bus est le contrôleur IDE. Ce n'est pas son
adresse I/O mais les adresses de la zone mémoire contenant les données
qui passent sur le bus PCI. Comme le contrôleur transfère directement
les données à des adresses mémoire consécutives, il peut utiliser le
mode rafale permettant d'obtenir toute l'efficacité du bus PCI.
Le problème, c'est que l'interaction entre le mode PIO et le bus PCI est une catastrophe à cause des caractéristiques de ce dernier qui limite le débit possible à une valeur bien inférieure à ce qu'ils permettent pris séparément. Sans compter l'énorme occupation CPU.
En quoi les accès I/O du bus PCI sont ils plus lents que sans bus PCI ? Je pense que le problème majeur est l'occupation CPU.
Je ne pense pas, la puissance du CPU est suffisante pour effectuer des transferts mémoire à des débits largement supérieurs aux 8 Mo/s observés.
De plus, les accès DMA sont les mêmes que les accès sans DMA, la seule différence étant qu'ils se font en "background" et que le CPU peut faire autre chose en attendant la fin du transfert...
Non, c'est très loin d'être la seule différence. Il faut savoir une chose sur le bus PCI : les adresses et les données étant multiplexées sur les mêmes lignes, il est optimisé pour les accès séquentiels (lecture ou écriture à des adresses consécutives) qu'on appelle "rafales" (burst). C'est uniquement dans le cas de rafales longues que le débit utile peut approcher des 132 Mo/s car l'adresse n'est transmise qu'une fois au début de chaque rafale. Par contre ses performances sont beaucoup moins bonnes en accès aléatoire car l'adresse doit être transmise avant chaque mot de donnée.
En mode PIO, le CPU transfère les données sur le port de données du contrôleur IDE, toujours à la même adresse I/O. Par conséquent les accès I/O sont obligatoirement de type séquentiel : il faut après chaque mot retransmettre l'adresse du port de données sur le bus PCI sinon le transfert se ferait avec l'adresse suivante qui n'est pas le port de données. Le CPU doit aussi transférer les données avec la mémoire, mais cela se fait sur un bus spécifique du northbridge.
En mode DMA, le maître du bus est le contrôleur IDE. Ce n'est pas son adresse I/O mais les adresses de la zone mémoire contenant les données qui passent sur le bus PCI. Comme le contrôleur transfère directement les données à des adresses mémoire consécutives, il peut utiliser le mode rafale permettant d'obtenir toute l'efficacité du bus PCI.
toto
Si je redémarre la machine, est-ce que les options seront toujours les mêmes? Car pour l'instant je n'ai pas redémarré et ça m'embête de devoir le faire pour vérifier si elles seront sauvegardées. Normalement non.
J'ai finalement eu besoin de redémarrer la machine. Et les paramètres que j'avais modifiés avec hdparam sont restés.
C'est peut-être spécifique à la Mandrake...
Sinon je remarque tout de même des saccades comme avant, mais ils sont beaucoup moins fréquents qu'avant et moins long.
Ca vous fait ça aussi avec des accès disques important?
A+
Si je redémarre la machine, est-ce que les options seront toujours les
mêmes? Car pour l'instant je n'ai pas redémarré et ça m'embête de devoir
le faire pour vérifier si elles seront sauvegardées.
Normalement non.
J'ai finalement eu besoin de redémarrer la machine. Et les paramètres que
j'avais modifiés avec hdparam sont restés.
C'est peut-être spécifique à la Mandrake...
Sinon je remarque tout de même des saccades comme avant, mais ils sont
beaucoup moins fréquents qu'avant et moins long.
Ca vous fait ça aussi avec des accès disques important?
Si je redémarre la machine, est-ce que les options seront toujours les mêmes? Car pour l'instant je n'ai pas redémarré et ça m'embête de devoir le faire pour vérifier si elles seront sauvegardées. Normalement non.
J'ai finalement eu besoin de redémarrer la machine. Et les paramètres que j'avais modifiés avec hdparam sont restés.
C'est peut-être spécifique à la Mandrake...
Sinon je remarque tout de même des saccades comme avant, mais ils sont beaucoup moins fréquents qu'avant et moins long.
Ca vous fait ça aussi avec des accès disques important?