Chargement...
 
Skip to main content

4 - Toutes les autres applications, les émulateurs...


Linuxsampler sous Gentoo : problème de "Disk Stream et Disk Thread"

Articles: 84 France
Bonjour

J'expérimente des arrêts du son dans Linuxsampler 1.0.0 (avec Qsampler) réguliers sur Gentoo:

Ca commence avec ce message dans la console:

Copy to clipboard
0x7f6eef1ee860 Disk stream not available in time!


Ensuite, après plusieurs messages de ce type, j'ai droit à plusieurs:

Copy to clipboard
DiskThread: there was no free slot Disk stream order failed!


Et là, plus de son... Après quelques secondes/minutes de patience, je peux à nouveau jouer sans relancer linuxsampler (LS). Ceci peut se produire plusieurs fois de suite, à quelques minutes d'intervalle. Sur Fedora Planet CCRMA, je n'ai jamais vu celà (sur une autre machine cependant).

Il y a un post similaire dans le forum de LS, mais l'intéressé utilisait une version assez ancienne de LS. Après installation d'une version plus récente, plus de probleme. A ma connaissance, moi j'utilise la dernière sortie (mais pas cvs).

Un idée? Essayer la version cvs? Serait-ce un problème de vitesse d'accès au disque? Faut-il changer quelque chose via l'utilitaire hdparm? Je me réfère à cette page du forum :

http://www.linuxmao.org/tikiwiki/tiki-index.php?page=les+discs+durs+et+hdparm" class="wiki wikinew text-danger tips">http://www.linuxmao.org/tikiwiki/tiki-index.php?page=les+discs+durs+et+hdparm

Merci!
Articles: 3938 France
salut victor, l'étoile verte (!) long time no see !
réponse courte en attendant mieux demain :
tu peux régler le "disk steaming".... quelque part dans les menus de configuration de J et Q sampler(s)
essaye de bidouiller ca pour commencer...😉
avec la derniere version de LS, c'est possible de le changer facilement, avec les anciennes il faut recompiler
Articles: 84 France
Salut PO 😊

Je ne trouve pas ce choix dans les menus... Pourtant j'utilise les dernières versions (encore chaudes) de LS, Qsampler et Jsampler.... Tu les trouves où toi?

Par ailleurs, je m'intéresse au temps d'optimisation de l'accès au disque (je suppose que ça peut avoir un rapport, non?) mais je dois bien avouer que je n'y comprends rien (pour le moment); je ne sais pas si c'est pertinent...

merci!

vicc
Articles: 3938 France
avec JSampler-fr :
menu Edition > préférences > onglet général > polyphonie > flux disque maximum
d'aileur je viens de me rendre compte que je devrai remplacer "flux disques" par "flux disque"...
Articles: 84 France
les réglages n'ont rien changé.... je les ai trouvé là où tu as dit sur Jsampler; sur Qsampler c'est dans View >> Options >> puis le 2ème onglet, mais bizarrement, là je ne peux rien régler

Alors... je ne sais pas si c'est résolu, mais apparemment ça a l'air de venir d'un fichier gig spécifique;

en fait c'est un fichier Halion que j'ai transformé en gig par un utilitaire; sans lui, pas de problème....

je vais continuer à tester pour voir si c'est bien ça....

..... mais bon quand même... sur ma Fedora Planet CCRMA ça marche pourtant (mais sur une autre machine, certes)...
Articles: 3938 France
je pense qu'il faut quand meme redémarrer LS apres ce changement de "disc streaming"
sur ma Fedora Planet CCRMA ça marche pourtant

dans ce cas, ca peut en effet venir d'ailleur que du fichier lui-meme
peut etre regarder du coté de hdparm en effet, et aussi comparer les reglages de jack par rapport au proc
Articles: 84 France
ca peut en effet venir d'ailleurs que du fichier lui-meme


je pense bien en effet; le problème arrive aussi avec d'autres fichiers gig que j'utilise depuis un certains temps... (et toujours sur Gentoo, et pas sur Fedora🙀sacrediou)

quand je serai arrivé à installer Fedora sur cette machine, je pourrai comparer... (c'est incroyable un tout nouveau tout beau Core I7 et problèmes avec Gentoo, et carrément pas moyen d'installer Fedora, ... donc en résumé, pas moyen de tirer parti de cette belle bête... peut être une technologie trop nouvelle...)
Articles: 130
Sal@&**!!ries de balises CODE qui ne marchent pas comme il faut, je ne parvienns pas à éditer convenablement le source du fichier que je souhaite insérer !!!
Une partie du code est confondu par le système avec des balises de présentation !!!

Tant pis pour le source, voir mes commentaires ci-après !

Pour mémoire, cet extrait correspond à la partie du code qui produit ton premier message d'erreur.
Articles: 130
Il s'agit d'une partie du code du fichier : linuxsampler/src/engines/common/VoiceBase.h

A la lecture des commentaires dans ce source, et si on en arrive là, c'est que, le flux ne pouvait venir de la ram (du cache) et qu'il a été en conséquence demandé d'ouvrir un flux disque, lequel n'est malhereusement pas ouvert à temps.

Bon. Alors pour l'instant je ne vais pas plus loin dans l'analyse et je ne fais que spéculer des axes d'investigation / contournement.

1/ Serais-tu un peu "léger" en ram par rapport à tout ce qui tourne sur ta machine échantillons compris. Ce pourrait être une piste plausible si ton problème ne se produit que quand tu as besoins de beaucoup de gros échantillons...

2/ Serais-tu un peu short coté performances du disque dur ou de ton interface disque dur ?

3/ Il me semble avoir compris que tu es sous Gentoo => Quel type dI/O scheduler as-tu choisi dans la configuration de ton noyau ? CFQ ? Anticipatory ? Deadline ? Noop ?
CFQ est le choix par défaut et je ne le recommande pas pour l'audio.
Tu devrais éssayer dans l'ordre : Noop, Anticipatory, Deadline... pour voir si cela change quelque chose.

Pour résumer je crois volontiers que ton sous-système disque + interface est significativement sous performant par rapport aux capacités de parallelisation / vitesse de ton processeur principal. C'est pas le tout de pédaler à 200 à j'heure sur 8 pignons à la fois... il faut aussi des fois que les pneux suivent... 😁 Et là... je pense que linuxsampler... il te fait du burnout ! 🙀

Bon courage à toi. J'espère que les pistes que je te suggère mèneront à un résultat.
Articles: 84 France
salut et merci de ta réponse

1) j'ai 4Go de RAM; par ailleurs, dans /etc/security/limits.conf, j'ai essayé "memlock" à 2 000 000 et à "unlimited" (j'avais eu des soucis, il y a longtemps, pour cherger un .gig trop gros, car memlock était seulement à 250000)

2) comment mesurer les performances? si hdparm est le bon outil, voici le résultat de hdparm -tT /dev/sda :

/dev/sda:
Timing cached reads: 9178 MB in 2.00 seconds = 4593.48 MB/sec
Timing buffered disk reads: 230 MB in 3.03 seconds = 76.03 MB/sec


(ce qui est pas mal je crois)

3)dans ma grande ignorance, je n'en savais rien; oui en effet c'est CFQ qui est installé; je vais essayer No-ob alors (merci!);

4) petite question : ma particion principale est en ext3; est-ce que, à votre avis, passer en ext4 (ou réinstaller en ext4) pourrait changer quelque chose?

Merci de ton (votre) aide!

Victor
Articles: 130
comment mesurer les performances? si hdparm est le bon outil, voici le résultat de hdparm -tT /dev/sda :
/dev/sda:
Timing cached reads: 9178 MB in 2.00 seconds = 4593.48 MB/sec
Timing buffered disk reads: 230 MB in 3.03 seconds = 76.03 MB/sec

Bon, en fait ce n'est pas tellement ces chiffres qui nous intéressent immédiatement ici mais bien plutôt ceux produits par :
Copy to clipboard
# hdparm --direct -tT /dev/sda

c'est CFQ qui est installé; je vais essayer No-ob alors (merci!);

Oui absolument essaye No-op (No-operation).
En fait CFQ produit le meilleur résultat global quand 50 processus font des mises à jour en base de donnée par exemple. Les 50 processus termineront avant qu'avec un autre scheduler. CFQ réordonne à sa guise les demandes de lecture / écriture ce dont on ne veut ici à aucun prix.
No-op, comme son nom l'indique, ne fait... rien ! Le premier processus qui demande une lecture a son résultat immédiatement demandé. C'est le plus éfficace dans notre cas.
ma particion principale est en ext3; est-ce que, à votre avis, passer en ext4 (ou réinstaller en ext4) pourrait changer quelque chose?

Oui nécessairement. Ext4 est plus efficace qu'Ext3. Maintenant ext3 ou ext4, il est aussi très avantageux de monter la partition :
Copy to clipboard
noatime,nodiratime,data=writeback

BTW, je ne sais pas ce que tu appelles ta partition principale. Evidemment, pour notre propos ici, c'est de la partition sur laquelle résident tes .gig dont il s'agit.
Articles: 84 France
bon c'est pas encore ça....

si j'ai bien compris, hdparm c'est pour les disques IDE (hdX), non? moi ils sont libellés en sdX...

alors j'ai essayé No-op et deadline comme I/O scheduler, sans succès malheureusement

par ailleurs, j'ai fait une réinstallation avec ma partie racine (/) en ext4 (ce que j'appelle ma partition principale, c'est celle qui contient tout sauf /boot et le swap); et là je n'arrive même plus à monter cette partition (j'ai un malheureux

Copy to clipboard
Root filesystem could not be mounted read/write :(


et ce après tentative de compilation avec config manuelle ou avec genkernel; j'ai bien sur activé le support pour ext4 dans les options de config du noyau...

pfiou... 😕

merci pour ton aide; au moins j'apprends beaucoup de choses (une fois de plus)
Articles: 130
Root filesystem could not be mounted read/write


1/ Tu avais modifié ton /etc/fstab avant ton passage ext3 -> ext4 ?
2/ Avec le rescue cd ou en bootant d'un autre système, peux-tu la monter manuellement ?
( # mount /dev/sdaxyz /mnt)
Avec xyz l'indice de ta partition root;
Articles: 84 France
j'aurais du le préciser en effet...

1/ Tu avais modifié ton /etc/fstab avant ton passage ext3 - ext4 ?


oui je l'ai fait

2/ Avec le rescue cd ou en bootant d'un autre système, peux-tu la monter manuellement ?


oui aussi; à partir du cd minimal-install-amd64, je peux monter ma partition sans problème
soit comme ceci
Copy to clipboard
mount /dev/sda3 /mnt/gentoo

soit comme ça
Copy to clipboard
mount -t ext4 /dev/sda3 /mnt/gentoo


part ailleurs j'ai aussi ajouté
javascript:taginsert('editpost2','158');
Copy to clipboard
rootfstype=ext4


à la ligne "kernel" dans mon grub.conf

.. et j'ai aussi installé e2fsprogs (tel mentionné ici https://ext4.wiki.kernel.org/index.php/Ext4_Howto ); je signale que je suis déjà sur le rt-sources, pour avoir un noyau temps réel...

je vais continuer à chercher 🙄
Articles: 130
Root filesystem could not be mounted read/write


Toujours à propos de cela :

1/ Ca dit quoi :
Copy to clipboard
# ls -ails /dev/sda*

2/ Et pendant qu'on y est, cela dit quoi :
Copy to clipboard
# cat /etc/fstab | grep sda3

Articles: 84 France
ls -ails /dev/sda* dit :

Copy to clipboard
2030 0 brw-rw---- 1 root disk 8, 0 2010-04-10 10:16 /dev/sda 2165 0 brw-rw---- 1 root disk 8, 1 2010-04-10 10:16 /dev/sda1 2102 0 brw-rw---- 1 root disk 8, 2 2010-04-10 10:16 /dev/sda2 2120 0 brw-rw---- 1 root disk 8, 3 2010-04-10 10:16 /dev/sda3


cat /etc/fstab | grep sda3 dit :

/dev/sda3 / ext4 noatime,nodiratime,data=writeback 0 1

merci!
Articles: 84 France
Bonjour

Me revoilà après une longue absence forcée (on ne fait pas toujours ce qu'on veut...)

Quelques nouveaux points :

1) en ce qui concerne le problème

Root filesystem could not be mounted read/write


je ne sais toujours pas pourquoi c'est arrivé, mais c'est reglé en ajoutant
Copy to clipboard
rw
à la fin de la ligne "kernel" dans le fichier /boot/grub/grub.conf

2) j'ai fait une nouvelle installation avec le reperatoire "/" en ext3, puis j'ai créé un nouvelle partition que j'ai formatée en ext4 et montée via le fichier /etc/fstab , et là ça marche comme un charme...

3) le plis important : j'ai démarré linuxsampler en ligne de commande; au chargement du fichier via Jsampler : je vois ceci:

Copy to clipboard
Thread : WARNING! Can't assign real-time scheduling to thread!


Donc un problème de configuration/compilation de linuxsampler lui-même? ou bien la gestion du temps-réel pour l'accès au disque par linuxsampler...?