Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[kernel ? X11 ?] priorité de la souris [resolu]
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index French
View previous topic :: View next topic  
Author Message
gbetous
l33t
l33t


Joined: 15 Jan 2004
Posts: 679
Location: Toulouse

PostPosted: Tue Nov 15, 2005 6:57 am    Post subject: [kernel ? X11 ?] priorité de la souris [resolu] Reply with quote

salut !

j'ai un soucis que je ne sais pas du tout par quel bout attaquer... (d'où le sujet flou :wink: )

quand mon ordi est fortement occupé (par exemple decompactage d'un gros paquetage portage), j'ai la souris qui devient vraiment inutilisable.

je voudrais savoir si je peux changer une priorité quelquepart pour garder un usage de la souris, meme quand le CPU frole les 100% (pour cet exemple précis, je précise que j'ai déjà mis dans mon /etc/make.conf "PORTAGE_NICENESS=15" mais ça ne change rien)

merci !!!


Last edited by gbetous on Tue Nov 15, 2005 6:06 pm; edited 1 time in total
Back to top
View user's profile Send private message
yoyo
Bodhisattva
Bodhisattva


Joined: 04 Mar 2003
Posts: 4273
Location: Lyon - France

PostPosted: Tue Nov 15, 2005 8:21 am    Post subject: Reply with quote

Amha c'est plus au niveau du noyau que ça peut se régler : as-tu sélectionné l'option de preemption du kernel dans le menuconfig (section "Processor type and features") ??
Il est également possible que ça soit un problème de DMA non activé puisque tu parles de problème lors d'un décompactage (accès disque important). Que renvoie la commande "hdparm /dev/ton_hdd" ??
_________________
La connaissance s'accroît quand on la partage.
JCB
Back to top
View user's profile Send private message
spider312
Veteran
Veteran


Joined: 02 Oct 2004
Posts: 1274
Location: France > Savoie > Chambery

PostPosted: Tue Nov 15, 2005 9:28 am    Post subject: Reply with quote

yoyo wrote:
Il est également possible que ça soit un problème de DMA non activé puisque tu parles de problème lors d'un décompactage (accès disque important). Que renvoie la commande "hdparm /dev/ton_hdd" ??
Je dirais en effet que ça ne vient pas d'un problème de CPU, en général c'est plutôt les access aux peripheriques de stoquage (CD, DVD, Disques Durs ...) qui font "ramer" la machine, et provoquent ces saccades de la souris, le DMA réduit ça, mais ne résoud pas completement le problème, la prochaine fois, tu acheteras un disque SCSI :lol:

Au niveau du kernel, peut-être que le "I/O Scheduler" dans "block devices" peut jouer là dessus, mais comme c'est un truc sur lequel je viens à peine de me pencher, je ne saurais te confirmer ça, enfin si tu as le temps et la curiosité, essaye ...
Back to top
View user's profile Send private message
Enlight
Advocate
Advocate


Joined: 28 Oct 2004
Posts: 3519
Location: Alsace (France)

PostPosted: Tue Nov 15, 2005 10:59 am    Post subject: Reply with quote

spider312 wrote:


Au niveau du kernel, peut-être que le "I/O Scheduler" dans "block devices" peut jouer là dessus, mais comme c'est un truc sur lequel je viens à peine de me pencher, je ne saurais te confirmer ça, enfin si tu as le temps et la curiosité, essaye ...


Nop! c'est un caracter device et non pas un block device la souris! Moi je vote aussi DMA et/ou preemptible.
Back to top
View user's profile Send private message
spider312
Veteran
Veteran


Joined: 02 Oct 2004
Posts: 1274
Location: France > Savoie > Chambery

PostPosted: Tue Nov 15, 2005 1:02 pm    Post subject: Reply with quote

Enlight wrote:
spider312 wrote:


Au niveau du kernel, peut-être que le "I/O Scheduler" dans "block devices" peut jouer là dessus, mais comme c'est un truc sur lequel je viens à peine de me pencher, je ne saurais te confirmer ça, enfin si tu as le temps et la curiosité, essaye ...


Nop! c'est un caracter device et non pas un block device la souris! Moi je vote aussi DMA et/ou preemptible.
c'est à dire, tu pourrais m'expliquer la nuance là STP ? en fait, je parle de ça au niveau du disque, pas de la souris
Back to top
View user's profile Send private message
Enlight
Advocate
Advocate


Joined: 28 Oct 2004
Posts: 3519
Location: Alsace (France)

PostPosted: Tue Nov 15, 2005 2:29 pm    Post subject: Reply with quote

hmmm... grosso merdo, quand tu lis un block device, tu lis bloc par bloc et donc le kernel doit allouer un/des buffer/s, par défaut il me semble que la plupart des file systems se mettent à 4ko par bloc mais c'est paramétrable au moment du mkfs (comme on l'a fait lors du thread gentoo sur un disque de 1.4Go).
Donc si tu fdemande accès a plusieurs blocs, le kernel alloue autant de buffers que de blocs demandés (dans la mesure du possible), garde a l'esprit chaque requete (la queue) et va les "télécharger" sur ton disque dur. là si t'as pas de scheduler (noop) c'est premier arrivé, premier servi, sinon t'as une gestion des priorités plus ou moins complexe selon le design du scheduler.

un character device au contraire ça se lit en stream, donc le programme en userland (X pour la souris par exemple) lis le flux ou ne le lis pas point barre, s'il ne le lit pas l'info est perdue à jamais. Parceque si on utilisait un fifo, au moment ou ton curseur se brancherait dessus, il rattraperai tous les mouvements effectués depuis la dernière connection au pipe. Evidement surtout pas de scheduler parceque si le curseur ne bouge pas dans les même ordre que tu bouges ta souris, risque d'y avoir des crises de nerfs :D !

Valà j'espère que j'ai réussi à être assez clair et que je ne me suis pas planté, j'suis pas expert du domaine non plus... :oops:
Back to top
View user's profile Send private message
spider312
Veteran
Veteran


Joined: 02 Oct 2004
Posts: 1274
Location: France > Savoie > Chambery

PostPosted: Tue Nov 15, 2005 3:00 pm    Post subject: Reply with quote

Ok merci, c'est en effet très interessant, mais là j'ai du mal à comprendre ce que ça fait concretement et le rapport avec l'option du kernel dont je parle, qu'est-ce qu'un character device et un block device ? comment savoir si tel device est l'un ou l'autre ? sur quoi va influer ce scheduler ?

Parceque si j'ai bien compris, le disque dur est un block device, va donc utiliser le scheduler, et donc ce scheduler aura un impact sur l'impression de "ramage" du PC lors d'un gros transfert sur le disque, que la souris soit ou non un character device, puisque je parlais bel et bien du disque et pas de la souris, le problème ne vient pas de la souris en l'occurence, donc je ne vois pas en quoi mon 1er post' est faux
Back to top
View user's profile Send private message
Enlight
Advocate
Advocate


Joined: 28 Oct 2004
Posts: 3519
Location: Alsace (France)

PostPosted: Tue Nov 15, 2005 4:14 pm    Post subject: Reply with quote

spider312 wrote:
Ok merci, c'est en effet très interessant, mais là j'ai du mal à comprendre ce que ça fait concretement et le rapport avec l'option du kernel dont je parle, qu'est-ce qu'un character device et un block device ? comment savoir si tel device est l'un ou l'autre ? sur quoi va influer ce scheduler ?


ls -l ton_device et tu devrais voir un b (block) ou un c (character). comme dit le scheduler va determiner en cas d'accès concurrents à différents blocs, dans quel ordre ceux-cis vont être placés dans des buffers en RAM.
Il faut bien comprendre que les schedulers que tu choisi dans le kernel sont des I/O scheds. Il ne font que ce que je vien de dire, c'est le CPU sched (différent selon tes sources kernel mais pas à la carte dans le make.conf) qui lui choisi quel segment de code en RAM va être executé. Bref 2 taches biens distinctes.
Chaque scheduler que tu peux choisir à sa propre vision de ce qui doit être bufferisé en premier ou pas et utilise des critères différents.
Bref si tout le reste va bien, il faudrait un design extrèmement pourri de scheduler (un gros mangeur de cycles CPU) pour arriver à faire laguer ce qui tourne.

Quote:

Parceque si j'ai bien compris, le disque dur est un block device, va donc utiliser le scheduler, et donc ce scheduler aura un impact sur l'impression de "ramage" du PC lors d'un gros transfert sur le disque, que la souris soit ou non un character device, puisque je parlais bel et bien du disque et pas de la souris, le problème ne vient pas de la souris en l'occurence, donc je ne vois pas en quoi mon 1er post' est faux


Non, pas si le DMA est activé, dans ce cas le scheduler "calcule" juste "qui" est le prochain bloc à être chargé en RAM. Le truc c'est que (en principe c'est pas 100% vrai) sans DMA l'accès disque mobilise le CPU, c'est donc lui qui va lire sur le disque directement puis recopier dans la mémoire, et comme on copie "par blocs" pas moyen de l'interrompre à ce moment pour autre chose => ça laggue.
Aver DMA (Direct memory access pour rappel) le CPU envoie un tout petit ordre aux chipsets et le transfert se fait en n'utilisant plus que le chipset et en laissant le CPU libre de vaquer à autre chose.

Pour la souris c'est le même pricipe que pour le DMA, le chipset copie les données envoyées par la souris à une adresse mémoire spécifique, et le le CPU a le choix de la lire (et de l'exploiter) ou non.

Donc visiblement pour que la souris "se chie dessus" c'est qu'il y'a monopolisation du CPU (bouffage de cycles en raison de l'absence de DMA, ou kernel non preemptible + tache qui refuse de passer la main). Voilà pourquoi le fait que la souris "laggue" ne me semble pas pouvoir provenir d'un problème de scheduler.

Ouf! je fais rarement des posts aussi longs!
Back to top
View user's profile Send private message
yoyo
Bodhisattva
Bodhisattva


Joined: 04 Mar 2003
Posts: 4273
Location: Lyon - France

PostPosted: Tue Nov 15, 2005 4:17 pm    Post subject: Reply with quote

Enlight wrote:
Ouf! je fais rarement des posts aussi longs!
Et c'est bien dommage pour nous ... :wink:
_________________
La connaissance s'accroît quand on la partage.
JCB
Back to top
View user's profile Send private message
spider312
Veteran
Veteran


Joined: 02 Oct 2004
Posts: 1274
Location: France > Savoie > Chambery

PostPosted: Tue Nov 15, 2005 4:19 pm    Post subject: Reply with quote

Je ne suis pas d'accord, quand je fais des grosses copies, j'ai ma souris qui lague et 1% d'utilisation CPU, quand je compile 4 trucs en même temps, j'ai une charge à 12 et mon CPU occupé à 100%, et ma souris est hyper fluide

Je sais que ça va à l'encontre totale de ce que tu dis, mais ce ne sont que des constatations personelles de plusieurs années sous windows et plusieurs années sous plusieures distribs, et ça a toujours été verifié, alors que ce que tu racontes n'est que théorique

Désolé, mais je ne crois que ce que je vois ...

Tout ce que je sais, c'est quand un ordi "rame" vraiment, ça vient du disque dur, comme quand un ordi "gratte" vraiment, c'est pas très pro comme paroles, mais personne n'a jamais réussi à me démontrer le contraire (ni même n'avait essayé jusqu'à ton message)
Back to top
View user's profile Send private message
Enlight
Advocate
Advocate


Joined: 28 Oct 2004
Posts: 3519
Location: Alsace (France)

PostPosted: Tue Nov 15, 2005 4:28 pm    Post subject: Reply with quote

La souris "bloquée" je ne l'ai eu que sous win, mais il n'est pas preemptible et NTFS est un gros gros mangeur de cycles CPU.

Par contre sous linux tu me dis avoir eu de faibles charges CPU donc ça m'intrigue total, à tout hasard avais tu des kernels non-preemptibles et/ou une souris usb?
Back to top
View user's profile Send private message
_droop_
l33t
l33t


Joined: 30 May 2004
Posts: 957

PostPosted: Tue Nov 15, 2005 4:50 pm    Post subject: Reply with quote

spider312 wrote:
Je ne suis pas d'accord, quand je fais des grosses copies, j'ai ma souris qui lague et 1% d'utilisation CPU, quand je compile 4 trucs en même temps, j'ai une charge à 12 et mon CPU occupé à 100%, et ma souris est hyper fluide.


T'aurais pas un problème de DMA ? :lol:
Back to top
View user's profile Send private message
gbetous
l33t
l33t


Joined: 15 Jan 2004
Posts: 679
Location: Toulouse

PostPosted: Tue Nov 15, 2005 5:18 pm    Post subject: Reply with quote

merci pour ce beau thread, on en apprend pas mal :D

sinon, pour commencer (une chose à la fois), j'ai en effet un pb de DMA.

Code:

coyote ~ # hdparm /dev/hda

/dev/hda:
 multcount    = 16 (on)
 IO_support   =  0 (default 16-bit)
 unmaskirq    =  0 (off)
 using_dma    =  0 (off)
 keepsettings =  0 (off)
 readonly     =  0 (off)
 readahead    = 256 (on)
 geometry     = 16383/255/63, sectors = 80026361856, start = 0

coyote ~ # hdparm -tT /dev/hda

/dev/hda:
 Timing cached reads:   584 MB in  2.01 seconds = 290.01 MB/sec
 Timing buffered disk reads:    6 MB in  3.08 seconds =   1.95 MB/sec


Malheureusement :

Code:
coyote ~ # hdparm -d1 /dev/hda

/dev/hda:
 setting using_dma to 1 (on)
 HDIO_SET_DMA failed: Operation not permitted
 using_dma    =  0 (off)


C'est bien l'option -d1 pour activer le DMA ? Une idée d'où cela peu bien venir ?
Back to top
View user's profile Send private message
kernelsensei
Bodhisattva
Bodhisattva


Joined: 22 Feb 2004
Posts: 5619
Location: Woustviller/Moselle/FRANCE (49.07°N;7.02°E)

PostPosted: Tue Nov 15, 2005 5:20 pm    Post subject: Reply with quote

tu peux nous donner la section IDE de ton kernel stp ?
_________________
$ ruby -e'puts " .:@BFegiklnorst".unpack("x4ax7aaX6ax5aX15ax4aax6aaX7ax2aX5aX8 \
axaX3ax8aX4ax6aX3aX6ax3ax3aX9ax4ax2aX9axaX6ax3aX2ax4ax3aX4aXaX12ax10aaX7a").join'
Back to top
View user's profile Send private message
yoyo
Bodhisattva
Bodhisattva


Joined: 04 Mar 2003
Posts: 4273
Location: Lyon - France

PostPosted: Tue Nov 15, 2005 5:22 pm    Post subject: Reply with quote

kernel_sensei wrote:
tu peux nous donner la section IDE de ton kernel stp ?
Et le nom de ton chipset ... :wink:
_________________
La connaissance s'accroît quand on la partage.
JCB
Back to top
View user's profile Send private message
gbetous
l33t
l33t


Joined: 15 Jan 2004
Posts: 679
Location: Toulouse

PostPosted: Tue Nov 15, 2005 5:26 pm    Post subject: Reply with quote

Qu'est-ce que vous entendez pas "section IDE du kernel" ???

A tout hasard :

Code:
coyote ~ # dmesg | grep -i ide
BIOS-provided physical RAM map:
CPU: After generic identify, caps: 0383f9ff c1c3f9ff 00000000 00000000 00000000 00000000 00000000
CPU: After vendor identify, caps: 0383f9ff c1c3f9ff 00000000 00000000 00000000 00000000 00000000
Boot video device is 0000:01:00.0
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
Probing IDE interface ide0...
Probing IDE interface ide1...
Probing IDE interface ide2...
Probing IDE interface ide3...
Probing IDE interface ide4...
Probing IDE interface ide5...
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
ide1 at 0x170-0x177,0x376 on irq 15


Mon chipset c'est... heu... un KT266 je crois bien. (Si c'est pas ca, c'est un KT133A. J'ai changé de CM il y a peu dans l'urgence, et j'avoue ne pas trop savoir ce que j'ai :roll: )

EDIT : C'est sur, c'est un KT266A
Code:

coyote ~ # dmesg | grep -i kt
ACPI: RSDP (v000 KT266A                                ) @ 0x000f73f0
ACPI: RSDT (v001 KT266A AWRDACPI 0x42302e31 AWRD 0x00000000) @ 0x1fff3000
ACPI: FADT (v001 KT266A AWRDACPI 0x42302e31 AWRD 0x00000000) @ 0x1fff3040
ACPI: DSDT (v001 KT266A AWRDACPI 0x00001000 MSFT 0x0100000c) @ 0x00000000
agpgart: Detected VIA KT266/KY266x/KT333 chipset
Back to top
View user's profile Send private message
yuk159
Veteran
Veteran


Joined: 18 Apr 2003
Posts: 1803
Location: noumea ,nouvelle-caledonie

PostPosted: Tue Nov 15, 2005 5:30 pm    Post subject: Reply with quote

Code:
grep -i IDE /usr/src/linux/.config


Plutot ça je pense ;)
_________________
The box said: "Requires Windows 98/2000/XP/NT, or better."
So, I installed LINUX!
Instagram
Back to top
View user's profile Send private message
gbetous
l33t
l33t


Joined: 15 Jan 2004
Posts: 679
Location: Toulouse

PostPosted: Tue Nov 15, 2005 5:43 pm    Post subject: Reply with quote

go !

Code:
coyote ~ # grep -i IDE /usr/src/linux/.config | grep -v -i video
# CONFIG_PARIDE is not set
CONFIG_IDE=y
CONFIG_BLK_DEV_IDE=y
# Please see Documentation/ide.txt for help/info on IDE drives
# CONFIG_BLK_DEV_IDE_SATA is not set
# CONFIG_BLK_DEV_HD_IDE is not set
CONFIG_BLK_DEV_IDEDISK=y
CONFIG_IDEDISK_MULTI_MODE=y
CONFIG_BLK_DEV_IDECD=y
# CONFIG_BLK_DEV_IDETAPE is not set
CONFIG_BLK_DEV_IDEFLOPPY=m
# CONFIG_BLK_DEV_IDESCSI is not set
# CONFIG_IDE_TASK_IOCTL is not set
# IDE chipset support/bugfixes
CONFIG_IDE_GENERIC=y
# CONFIG_BLK_DEV_IDEPNP is not set
# CONFIG_BLK_DEV_IDEPCI is not set
# CONFIG_IDE_ARM is not set
# CONFIG_BLK_DEV_IDEDMA is not set
# CONFIG_IDEDMA_AUTO is not set
CONFIG_JOYSTICK_SIDEWINDER=m
# CONFIG_FB_TRIDENT is not set
Back to top
View user's profile Send private message
yoyo
Bodhisattva
Bodhisattva


Joined: 04 Mar 2003
Posts: 4273
Location: Lyon - France

PostPosted: Tue Nov 15, 2005 5:56 pm    Post subject: Reply with quote

Bon et bien tu n'as tout simplement pas sélectionné le chipset de ta carte mère dans la config de ton noyau :
Code:
cd /usr/src/linux
make menuconfig
ensuite :
Quote:
Device Drivers ---> ATA/ATAPI/MFM/RLL support --->
<*> ATA/ATAPI/MFM/RLL support
[*] PCI IDE chipset support
<*> Include IDE/ATA-2 DISK support
<*> Include IDE/ATAPI CDROM support
< > Generic PCI IDE Chipset Support
[*] Generic PCI bus-master DMA support
[*] Use PCI DMA by default when available
[ ] Enable DMA only for disks
<*> VIA82CXXX chipset support
sauvegarde de la nouvelle config en sortant et pour finir :
Code:
make && make modules_install
Puis copie du noyau (après montage de /boot) édition du grub/lilo.conf si besoin et réinstallation des modules externes au noyau (nvidia etc.).
Reboot et "hdparm /dev/hda" pour voir si le dma est activé.

Enjoy !
_________________
La connaissance s'accroît quand on la partage.
JCB
Back to top
View user's profile Send private message
gbetous
l33t
l33t


Joined: 15 Jan 2004
Posts: 679
Location: Toulouse

PostPosted: Tue Nov 15, 2005 6:06 pm    Post subject: Reply with quote

ok, je viens de faire la modif, recompil et reboot :

Code:
coyote ~ # hdparm /dev/hda

/dev/hda:
 multcount    = 16 (on)
 IO_support   =  1 (32-bit)
 unmaskirq    =  1 (on)
 using_dma    =  1 (on)
 keepsettings =  0 (off)
 readonly     =  0 (off)
 readahead    = 256 (on)
 geometry     = 16383/255/63, sectors = 80026361856, start = 0
coyote ~ # hdparm -tT /dev/hda

/dev/hda:
 Timing cached reads:   652 MB in  2.00 seconds = 325.24 MB/sec
 Timing buffered disk reads:  122 MB in  3.00 seconds =  40.65 MB/sec


Ca tourne déjà bcp mieux :D

Un petit coup de "emerge ut2004-demo" me permet de rebalancer mon decompactage de l'autre jour. Résultat : le système reste fluide et parfaitement utilisable !!!

Merci a tous, c'était plutôt réussi comme diagnostic :D
Back to top
View user's profile Send private message
_droop_
l33t
l33t


Joined: 30 May 2004
Posts: 957

PostPosted: Wed Nov 16, 2005 11:01 am    Post subject: Reply with quote

gbetous wrote:
Merci a tous, c'était plutôt réussi comme diagnostic :D


C'est un grand classique quand même... (le dma)

Bonne journée.
Back to top
View user's profile Send private message
Enlight
Advocate
Advocate


Joined: 28 Oct 2004
Posts: 3519
Location: Alsace (France)

PostPosted: Wed Nov 16, 2005 12:30 pm    Post subject: Reply with quote

_droop_ wrote:
gbetous wrote:
Merci a tous, c'était plutôt réussi comme diagnostic :D


C'est un grand classique quand même... (le dma)

Bonne journée.


Mais les bons diagnostiques aussi sont un grand classique môoooooooooossieur! :mrgreen:
Back to top
View user's profile Send private message
spider312
Veteran
Veteran


Joined: 02 Oct 2004
Posts: 1274
Location: France > Savoie > Chambery

PostPosted: Wed Nov 16, 2005 4:27 pm    Post subject: Reply with quote

Euh, bin kernel préemptible et aucun soucis de DMA non, par contre, la souris USB ça change quoi ?
Back to top
View user's profile Send private message
_droop_
l33t
l33t


Joined: 30 May 2004
Posts: 957

PostPosted: Wed Nov 16, 2005 5:17 pm    Post subject: Reply with quote

Enlight wrote:
Mais les bons diagnostiques aussi sont un grand classique môoooooooooossieur! :mrgreen:


:D

spider312 wrote:
Euh, bin kernel préemptible et aucun soucis de DMA non, par contre, la souris USB ça change quoi ?


A priori, ca doit pas changer grand chose...
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index French All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum