Package: emacs-snapshot Version: 1:20060908-1 Severity: normal Hi,
I like much org-mode. For the file attached, emacs uses almost 100% the CPU, without reason. It is 100% reproducible. $ emacs -q td M-x org-mode [emacs shows only the headings (about 10 headings)] [top prints: PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 3612 dedu 25 0 20148 12m 5340 R 90.5 2.5 0:11.94 emacs and this persists. ] If I remove the first heading (cwnd statique), the bug does not appear. If I remove all but the first heading, the bug does not appear either. Very strange... Friendly, Eugen Dedu -- Package-specific info: -- Emacs odds and ends: Loading 00debian-vars... Loading /etc/emacs/site-start.d/50a2ps.el (source)... Loading a2ps-print... Loading /etc/emacs/site-start.d/50css-mode.el (source)... Loading /etc/emacs/site-start.d/50dictionaries-common.el (source)... Skipping dictionaries-common setup for emacs-snapshot Loading /etc/emacs/site-start.d/50php-elisp.el (source)... Loading /etc/emacs/site-start.d/50pymacs.el (source)... Loading /etc/emacs/site-start.d/50python-mode.el (source)... Loading /etc/emacs/site-start.d/50sawfish.el (source)... Version is: GNU Emacs 22.0.50.1 (powerpc-unknown-linux-gnu, X toolkit, Xaw3d scroll bars) of 2006-09-09 on malo, modified by Debian System load-path: (/usr/share/emacs-snapshot/site-lisp/sawfish /usr/share/emacs-snapshot/site-lisp/python-mode /usr/share/emacs-snapshot/site-lisp/pymacs /usr/share/emacs-snapshot/site-lisp/pymacs-elisp /usr/share/emacs-snapshot/site-lisp/css-mode /usr/share/emacs/site-lisp/css-mode /usr/share/emacs-snapshot/site-lisp/a2ps /etc/emacs-snapshot /etc/emacs /usr/local/share/emacs/22.0.50/site-lisp /usr/local/share/emacs/site-lisp /usr/share/emacs/22.0.50/site-lisp /usr/share/emacs/22.0.50/site-lisp/a2ps /usr/share/emacs/22.0.50/site-lisp/css-mode /usr/share/emacs/22.0.50/site-lisp/php-elisp /usr/share/emacs/22.0.50/site-lisp/pymacs /usr/share/emacs/22.0.50/site-lisp/python-mode /usr/share/emacs/22.0.50/site-lisp/sawfish /usr/share/emacs/site-lisp /usr/share/emacs/22.0.50/leim /usr/share/emacs/22.0.50/lisp /usr/share/emacs/22.0.50/lisp/url /usr/share/emacs/22.0.50/lisp/textmodes /usr/share/emacs/22.0.50/lisp/progmodes /usr/share/emacs/22.0.50/lisp/play /usr/share/emacs/22.0.50/lisp/obsolete /usr/share/emacs/22.0.50/lisp/net /usr/share/emacs/22.0.50/lisp/mh-e /usr/share/emacs/22.0.50/lisp/mail /usr/share/emacs/22.0.50/lisp/language /usr/share/emacs/22.0.50/lisp/international /usr/share/emacs/22.0.50/lisp/gnus /usr/share/emacs/22.0.50/lisp/eshell /usr/share/emacs/22.0.50/lisp/erc /usr/share/emacs/22.0.50/lisp/emulation /usr/share/emacs/22.0.50/lisp/emacs-lisp /usr/share/emacs/22.0.50/lisp/calendar /usr/share/emacs/22.0.50/lisp/calc) -- /usr/share/emacs-snapshot/: /usr/share/emacs-snapshot: total 0 drwxr-xr-x 8 root root 280 Sep 10 07:38 site-lisp /usr/share/emacs-snapshot/site-lisp: total 8 drwxr-xr-x 2 root root 104 Sep 10 07:38 a2ps drwxr-xr-x 2 root root 80 Sep 10 07:38 css-mode -rw-r--r-- 1 root root 3047 Sep 10 07:38 debian-startup.elc drwxr-xr-x 2 root root 80 Sep 10 07:38 php-elisp drwxr-xr-x 2 root root 80 Sep 10 07:38 pymacs drwxr-xr-x 2 root root 144 Sep 10 07:38 python-mode drwxr-xr-x 2 root root 80 Sep 10 07:38 sawfish -rw-r--r-- 1 root root 106 Sep 8 21:35 subdirs.el /usr/share/emacs-snapshot/site-lisp/a2ps: total 12 -rw-r--r-- 1 root root 1949 Sep 10 07:38 a2ps-print.elc -rw-r--r-- 1 root root 5056 Sep 10 07:38 a2ps.elc /usr/share/emacs-snapshot/site-lisp/css-mode: total 16 -rw-r--r-- 1 root root 15293 Sep 10 07:38 css-mode.elc /usr/share/emacs-snapshot/site-lisp/php-elisp: total 16 -rw-r--r-- 1 root root 14019 Sep 10 07:38 php-mode.elc /usr/share/emacs-snapshot/site-lisp/pymacs: total 16 -rw-r--r-- 1 root root 15868 Sep 10 07:38 pymacs.elc /usr/share/emacs-snapshot/site-lisp/python-mode: total 144 -rw-r--r-- 1 root root 27232 Sep 10 07:38 doctest-mode.elc -rw-r--r-- 1 root root 1297 Sep 10 07:38 pycomplete.elc -rw-r--r-- 1 root root 114327 Sep 10 07:38 python-mode.elc /usr/share/emacs-snapshot/site-lisp/sawfish: total 36 -rw-r--r-- 1 root root 34502 Sep 10 07:38 sawfish.elc -- /usr/share/emacs/site-lisp/: /usr/share/emacs/site-lisp: total 100 drwxr-xr-x 2 root root 104 Mar 9 2006 a2ps drwxr-xr-x 2 root root 80 Dec 5 2004 css-mode -rw-r--r-- 1 root root 6159 Jan 6 2006 debian-startup.el drwxr-xr-x 2 root root 144 Aug 9 00:14 dictionaries-common -rw-r--r-- 1 root root 93020 Mar 12 2006 gnugo.el drwxr-xr-x 2 root root 80 Jul 13 2004 php-elisp drwxr-xr-x 2 root root 80 Jun 26 21:54 pymacs drwxr-xr-x 2 root root 48 Jun 26 21:54 pymacs-elisp drwxr-xr-x 2 root root 144 Aug 10 09:27 python-mode drwxr-xr-x 2 root root 80 Aug 5 01:12 sawfish /usr/share/emacs/site-lisp/a2ps: total 16 -rw-r--r-- 1 root root 3937 Feb 26 2006 a2ps-print.el -rw-r--r-- 1 root root 11164 Feb 26 2006 a2ps.el /usr/share/emacs/site-lisp/css-mode: total 16 -rw-r--r-- 1 root root 15590 Nov 23 2004 css-mode.el /usr/share/emacs/site-lisp/dictionaries-common: total 264 -rw-r--r-- 1 root root 15335 Jul 27 22:28 debian-ispell.el -rw-r--r-- 1 root root 99620 Jul 27 22:28 flyspell.el -rw-r--r-- 1 root root 150585 Jul 27 22:28 ispell.el /usr/share/emacs/site-lisp/php-elisp: total 40 -rw-r--r-- 1 root root 38604 Apr 27 2004 php-mode.el /usr/share/emacs/site-lisp/pymacs: total 28 -rw-r--r-- 1 root root 26374 Jun 30 2003 pymacs.el /usr/share/emacs/site-lisp/pymacs-elisp: total 0 /usr/share/emacs/site-lisp/python-mode: total 188 -rw-r--r-- 1 root root 34929 Dec 2 2005 doctest-mode.el -rw-r--r-- 1 root root 975 Dec 2 2005 pycomplete.el -rw-r--r-- 1 root root 147506 Aug 2 09:54 python-mode.el /usr/share/emacs/site-lisp/sawfish: total 40 -rw-r--r-- 1 root root 40633 Jul 22 18:23 sawfish.el -- /var/lib/emacs-snapshot/: /var/lib/emacs-snapshot: total 0 drwxr-xr-x 2 root root 80 Sep 10 07:38 installed-subflavors /var/lib/emacs-snapshot/installed-subflavors: total 0 -rw-r--r-- 1 root root 0 Sep 10 07:38 emacs-snapshot-x -- System Information: Debian Release: testing/unstable APT prefers testing APT policy: (990, 'testing'), (500, 'unstable'), (1, 'experimental') Architecture: powerpc (ppc) Shell: /bin/sh linked to /bin/bash Kernel: Linux 2.6.17-2-powerpc Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968) Versions of packages emacs-snapshot depends on: ii emacs-snapshot-bin-common 1:20060908-1 The GNU Emacs editor's shared, arc ii libasound2 1.0.12-1 ALSA library ii libc6 2.3.6.ds1-4 GNU C Library: Shared libraries ii libice6 1:1.0.1-2 X11 Inter-Client Exchange library ii libjpeg62 6b-13 The Independent JPEG Group's JPEG ii libncurses5 5.5-3 Shared libraries for terminal hand ii libpng12-0 1.2.8rel-5.2 PNG library - runtime ii libsm6 1:1.0.1-2 X11 Session Management library ii libtiff4 3.8.2-6 Tag Image File Format (TIFF) libra ii libungif4g 4.1.4-3 shared library for GIF images (run ii libx11-6 2:1.0.0-8 X11 client-side library ii libxext6 1:1.0.1-2 X11 miscellaneous extension librar ii libxmu6 1:1.0.2-2 X11 miscellaneous utility library ii libxpm4 1:3.5.5-2 X11 pixmap library ii libxt6 1:1.0.2-2 X11 toolkit intrinsics library ii xaw3dg 1.5+E-14 Xaw3d widget set ii zlib1g 1:1.2.3-13 compression library - runtime emacs-snapshot recommends no packages. Versions of packages emacs-snapshot-common depends on: ii dpkg 1.13.21 package maintenance system for Deb ii emacsen-common 1.4.17 Common facilities for all emacsen Versions of packages emacs-snapshot-bin-common depends on: ii emacs-snapshot-common 1:20060908-1 The GNU Emacs editor's common infr ii libc6 2.3.6.ds1-4 GNU C Library: Shared libraries ii liblockfile1 1.06.1 NFS-safe locking library, includes Versions of packages emacs-snapshot-el depends on: ii emacs-snapshot-common 1:20060908-1 The GNU Emacs editor's common infr Versions of packages emacsen-common depends on: ii bsdmainutils 6.1.4 collection of more utilities from Versions of packages emacs-snapshot is related to: ii dictionaries-common 0.70.2 Common utilities for spelling dict -- no debconf information
* cwnd statique (après définitions et avant Tahoe) a. Faites le diagramme de transfert avec les caractéristiques : cwnd = 3 Un fichier de 15 ko à envoyer 1 ko par paquet Paquets perdus : 5 et 8 RTT = 1 sec. RTO = 2 sec. Buffer de réception illimité Sans initiation et fin de connexion Sans accusés retardés b. Utilisez des accusés retardés, 500 ms, en supposant qu'il n'y a aucun paquet perdu. * Évolution de la cwnd en Tahoe, sans pertes Faire le diagramme des paquets d'1 ko transmis par un flux TCP (en considérant que sa fenêtre d'émission est toujours remplie) pendant 1 seconde sur un lien à débit illimité et à latence 10 ms pour (le diagramme contient : temps, cwnd, ssthresh, nb paquets envoyés, nb total de paquets reçus) : a. Sans perte de paquet, ssthresh initial très grand. Quel est le RTT ? b. Sans perte de paquet, ssthresh initial = 64 ko. * Comparaison envoi un gros fichier vs plusieurs petits fichiers Supposons un répertoire de 100 fichiers de 10 ko chacun, fichiers que vous devez envoyer par le réseau. Vous pouvez les transférer de deux manières : envoyer chacun des fichiers ou bien les tar-er et envoyer le gros fichier tar. Si le ssthresh initial est très grand, le lien est à 1 Gb/s et le délai de 10 ms et la taille de paquet est de 1 ko, quel est le temps pris par chacune des deux méthodes ? Est-ce que la comparaison dépend de la bande passante du lien ? 488 paq/RTT => 488 ko/RTT * Perte de paquets (??? espacés d'1ms = ?, quelle version de TCP ?, quel est le but de l'exo ?) À un certain moment t0 d'un transfert, 10 paquets (espacés d'1 ms) sont envoyés par l'émetteur (cwnd=10, ssthresh=50). Le RTT est de 30 ms. Faites un tableau avec l'évolution de la transmission jusqu'à la récupération de la perte au cas où : a. Le paquet perdu est le 8ème. b. Le paquet perdu est le 3ème. * Diverses questions sur cwnd Tahoe (d'Oumaya Baala), pas clair (à quoi sert 2ko ? transm entière = ok ou pas ?) Dans une session TCP MSS = 2 ko. Initialement la fenêtre de congestion est de 1 MSS et le seuil de 32 MSS. Les prochaines transmissions entières d'une fenêtre sont bien acquittées, sauf la 4ème. a. Quel sera alors le seuil ? b. Au bout de combien de transmissions entières un temporisateur doit expirer pour que le seuil double de taille ? * Influence de la fenêtre de réception sur le débit Quelles sont les deux fenêtres qui limitent le débit d'une connexion ? Supposons 10 liens entre A et B, chacun avec 10 ms délai et 100 Mb/s. Quel est le débit max atteint (sachant que la fenêtre de réception en TCP classique est limitée à 64 ko (16 bits dans l'en-tête)) ? * Envoi Reno avec erreurs de transmission Initiation et fermeture de la connexion font 1 sec. Le RTT est de 200 ms. et le RTO est de 400 ms. Les paquets 30 et 90 (les numéros commencent à 1) sont perdus par le réseau. La taille du fichier à transmettre est 100 ko. Le MSS est de 1 ko. Le ssthresh initial est très grand. Combien de temps prend le transfert ? * Transmission Web, modes persistant et non persistant (d'Oumaya Baala) La machine A exécute un serveur web à laquelle se connecte un client web de la machine B. La taille maximale d'un segment (MSS) lors d'une connexion TCP entre A et B est de 512 octets. Ouvrir et fermer une connexion TCP met 2 secondes. Quand A envoie une séquence de segments, elle reçoit l'acquittement de B une seconde après l'émission complète. Le réseau reliant A et B fonctionne à 8kbits/sec et n'est jamais congestionné. B demande à A quatre documents : une page web et trois images de 2ko chacune. On ignore les en-têtes HTTP et TCP, donc on suppose que chaque document peut être envoyé dans quatre segments exactement. En ignorant les messages HTTP de B vers A, calculez le temps total de transmission pour : a. Le mode persistant (les quatre documents sont transmis dans la même session TCP). b. Le mode non-persistant (les quatre documents sont transmis chacun dans une session TCP à part). c. Faites une comparaison entre les 2 modes dpdv : - utilisateur - tout le monde * Transmission d'un flux sur un lien (pas intéressant, à effacer ?) Faire le diagramme des paquets d'1 ko transmis par un flux pendant 5 secondes sur un lien à bande passante illimité (ou 10 Mb/s ?) et latence de 10 ms : a. Le flux est UDP CBR, 1 paquet / 1 ms. b. Le flux est UDP CBR et le lien a un taux d'erreur de 2 % (tous les 50 paquets le dernier paquet est perdu). c. Le flux est TCP (ssthresh très grand). Également, à quel débit arrive le flux à la fin de la 1ère seconde ? d. Le flux est TCP (ssthresh très grand) et le lien a un taux d'erreur de 0.1 % (on utilise la moyenne pour le moment des pertes). e. On suppose que le flux est UDP et TCP en meme temps TCP, puis 1 sec plus tard UDP commence * Transmission d'un flux TCP sur deux liens (difficile, à effacer ?) A-R 100 Mb/s, R-B 10 Mb/s, latences de 10 ms R a une file d'attente de 100 paquets (paquets + accusés !) Le traitement d'un paquet prend 0.1 ms à R. Un flux TCP avec des données illimitées à envoyer. Les paquets sont d'1 ko. Faire le diagramme des paquets échangés * Concurrence de flux TCP/UDP sur un lien Faire la courbe approximative (intuitive) avec la concurrence de flux pour (même RTT) : - 1 tcp - 2 tcp, démarrés à des moments différents - 1 udp cbr - 2 udp cbr, démarrés à des moments différents - 2 tcp, ensuite 1 udp cbr * Transmission d'un flux TCP sur deux liens (je ne l'ai pas très bien compris, à voir...) Supposez qu'entre A et B il y ait un routeur R. La largeur de bande entre A et R est infinie, mais la ligne R-B introduit un délai de 1 paquet par seconde (2 paquets prennent deux secondes). Les acquittements de B à R sont envoyés instantanément. A envoie des données à B avec une connexion TCP, en utilisant le démarrage lent mais avec une fenêtre glissante arbitrairement grande. A chaque seconde, l'émetteur traite les acquittements s'il y en a et répond à chaque timetout. a. Faites l'hypothèse que le timeout est fixé à 2 secondes. Qu'est-ce qui est reçu et envoyé à T=0,1,2,3,4,5,6 secondes ? Est-ce que la ligne est vide à certains moments, à cause du timeout ? b. Qu'est-ce qui change si le timeout vaut 3 ? (Source : http://www.tcom.ch/HomePages/SRT/Exos%20t%E9l%E9informatique%206.pdf) * ??? - un probleme avec le calcul du rtt, du timeout dynamique (pourquoi doit-il etre dynamique), ... - un problème avec différence de débit entre deux TCP due à des RTT différents - à partir d'une capture d'ethereal, donner des informations... ------------- * Solutions ** Comparaison 40 fois plus rapide le dernier : 4 Mb/s, donc on n'atteint pas la bp, mais en général ça depend de la bp ** Oumaya 1 À la 1ère transmission la fenêtre fait 1MSS, à la 2ème 2MSS, ..., à la 4ème 8 MSS. Le temporisateur de cet envoi expire, la fenêtre de congestion courante est de 8 MSS, le nouveau seuil devient donc la moitié : 4MSS. Ensuite, pour que le seuil devienne 8MSS, le temporisateur doit expirer quand la fenêtre fait 16MSS. Pour atteindre le seuil de 4MSS il suffit de 3 transmissions. Ensuite pour atteindre 16 il suffit de 11 transmissions, donc 14 au total. ** Influence sur le débit Fenêtres : cwnd, rwnd, émission ** Reno t[RTT] | cwnd | nbpqenv | nopqenv | nopqrecus | phase | ssthresh 0 1 1 1 SS infini 0.5 1 1 2 2 2-3 1-3 2 4 4 4-7 1-7 3 8 8 8-15 1-15 4 16 16 16-31 1-29,31 5 30 28 32-59 1-29,31-59 6 44 1+14 30,60-73 fret+frec 15 1-73 7 15 15 74-88 CA 1-88 8 16 12 89-100 1-89,91-100 9 16 1 90 fret+frec 8 1-100 10 FIN temps total = 1s + 10*200ms = 3 sec. Donner des explications pour t=6. (Erreur ?? : à t=6, en fret, on envoie 1 paquet à chaque paquet reçu => ce n'est pas 1+14, mais 1+28) ** Oumaya 2 (Web) Ici: ouverture et fermeture TCP mettent en tout 2 secondes. Chaque document (page web ou image) est de 2ko. - le mode persistant En tout 4*4 segments sont envoyés. Le temps total est de 2 sec (ouverture/fermeture TCP) + 8sec (4*2ko/débit) + 4 sec (attentes acquittements) = 14 secondes. - le mode non-persistant Les fenêtres envoyées sont de 2 puis de nouveau 2 segments. Le temps pour chaque transmission est : 2 sec + 2 sec (2ko/débit) + 1 sec (attentes acquittements) = 5 secondes. Au total donc 20 secondes. On voit que le mode persistant fait gagner du temps, car dans le cas échéant on est handicapé par le démarrage lent et par les ouvertures, fermetures de sessions TCP. - comparaison des deux modes a. si sur le lien congestionné nous sommes seuls, préférer persistant (Règle : plus il y a de flux, plus il y a de conflits, donc moins il y a de rendement.) b. si le lien congestionné est partagé, préférer persistant pour tout le monde, et non persistant pour moi (égoisme) c. s'il n'y a pas de congestion, cela dépend du nombre de connexions simultanées et du moment où elles sont faites...