all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Dmitry Gutov <dgutov@yandex.ru>
To: Eli Zaretskii <eliz@gnu.org>
Cc: npostavs@users.sourceforge.net, 28695@debbugs.gnu.org, bryan@bryan.sh
Subject: bug#28695: 26.0.60; Rendering lag spikes caused by double-buffering on Linux
Date: Fri, 27 Oct 2017 02:19:28 +0300	[thread overview]
Message-ID: <157e8c6e-7bf9-7506-f640-3c9dadd2ffb8@yandex.ru> (raw)
In-Reply-To: <8360bfhlie.fsf@gnu.org>

[-- Attachment #1: Type: text/plain, Size: 875 bytes --]

On 10/16/17 5:30 AM, Eli Zaretskii wrote:
>>     Children  Self   Comma  Shared Object     Symbol
>>     0,03%     0,03%  emacs  libXext.so.6.4.0  [.] XdbeSwapBuffers
>>     0,00%     0,00%  emacs  emacs             [.] XdbeSwapBuffers@plt
> 
> Hmm... so do you see any difference between these 2 scenarios in other
> parts of the profiles?

It's really hard for me to tell. Now, I've re-ran the experiment again 
(last time I did it with ag, now with rg) and I'm attaching the 
"unexpanded" views of the graphs in all cases. 1 and 11 were with a 
small window, and 2 and 22 were with a fullscreen one.

The search results for XdbeSwapBuffers were really similar to the above, 
so I'm not including that.

Don't really see a significant difference. If I had to guess, the 
slowdown maybe has to do with Xorg not being able to keep up, but, like, 
in an asynchronous fashion.

[-- Attachment #2: perf.txt.1 --]
[-- Type: text/plain, Size: 4525 bytes --]

Samples: 60K of event 'cycles', Event count (approx.): 26885534358
  Children      Self  Command       Shared Object               Symbol
+   23,18%    23,08%  emacs         emacs                       [.] mark_object
+   15,20%     0,00%  emacs         [unknown]                   [.] 0xfff42db4fff42ca2
+    8,17%     0,00%  rg            rg                          [.] 0xffffffffffdd4fed
+    8,07%     0,00%  rg            rg                          [.] 0xffffffffffdcd70c
+    8,07%     0,00%  rg            rg                          [.] 0xffffffffffde1deb
+    8,07%     0,00%  rg            rg                          [.] 0xffffffffffc03250
+    8,07%     0,00%  rg            rg                          [.] 0xffffffffffc05020
+    8,07%     0,00%  rg            rg                          [.] 0xffffffffffc1294f
+    7,22%     2,56%  emacs         emacs                       [.] re_search_2
+    6,07%     0,00%  rg            rg                          [.] 0xffffffffffcfad8b
+    6,06%     0,00%  rg            rg                          [.] 0xffffffffffc484a8
+    6,03%     0,00%  rg            rg                          [.] 0xffffffffffc3ef09
+    4,96%     0,00%  rg            [kernel.kallsyms]           [k] entry_SYSCALL_64_fastpath
+    4,87%     0,00%  emacs         [unknown]                   [.] 0000000000000000
+    4,28%     0,00%  rg            rg                          [.] 0xffffffffffde39c6
+    4,22%     4,18%  emacs         emacs                       [.] assq_no_quit
+    4,18%     0,21%  emacs         emacs                       [.] funcall_lambda
+    4,16%     0,00%  rg            rg                          [.] 0xffffffffffc3b175
+    4,03%     0,01%  emacs         [kernel.kallsyms]           [k] entry_SYSCALL_64_fastpath
+    3,91%     3,90%  emacs         emacs                       [.] re_match_2_internal
+    3,82%     0,00%  rg            rg                          [.] 0xffffffffffc3f014
+    3,76%     0,00%  rg            [kernel.kallsyms]           [k] sys_write
+    3,76%     0,00%  rg            [kernel.kallsyms]           [k] vfs_write
+    3,75%     0,00%  rg            [kernel.kallsyms]           [k] __vfs_write
+    3,75%     0,01%  rg            [kernel.kallsyms]           [k] tty_write
+    3,65%     0,00%  rg            rg                          [.] 0xffffffffffc2e3d8
+    3,44%     0,93%  rg            [kernel.kallsyms]           [k] n_tty_write
     2,98%     2,97%  emacs         emacs                       [.] sweep_strings
+    2,92%     2,90%  emacs         emacs                       [.] exec_byte_code
+    2,16%     0,00%  rg            rg                          [.] 0xffffffffffc312d7
+    1,97%     0,05%  rg            [kernel.kallsyms]           [k] pty_write
+    1,87%     0,00%  rg            rg                          [.] 0xffffffffffc034a0
+    1,80%     0,00%  rg            rg                          [.] 0xffffffffffdba822
+    1,77%     0,00%  rg            rg                          [.] 0xffffffffffc2eda9
+    1,70%     0,03%  rg            [kernel.kallsyms]           [k] tty_flip_buffer_push
+    1,67%     1,65%  emacs         emacs                       [.] decode_coding_utf_8
+    1,67%     0,22%  rg            [kernel.kallsyms]           [k] queue_work_on
+    1,59%     1,59%  emacs         emacs                       [.] Fassq
+    1,44%     1,42%  emacs         emacs                       [.] produce_chars
+    1,43%     1,43%  emacs         emacs                       [.] sweep_conses
+    1,32%     0,11%  rg            [kernel.kallsyms]           [k] __queue_work
+    1,24%     0,00%  rg            rg                          [.] 0xffffffffffc3ac4b
+    1,23%     0,00%  emacs         [unknown]                   [.] 0x000000000086df0c
+    1,18%     0,19%  rg            [kernel.kallsyms]           [k] insert_work
+    1,03%     0,00%  emacs         libpthread-2.24.so          [.] 0xffff80b2c50c8d8d
+    1,02%     0,00%  emacs         [kernel.kallsyms]           [k] sys_open
+    1,01%     0,00%  emacs         [kernel.kallsyms]           [k] do_sys_open
+    1,00%     0,01%  rg            [kernel.kallsyms]           [k] wake_up_process
+    0,99%     0,00%  rg            rg                          [.] 0xffffffffffc31158
     0,99%     0,98%  emacs         emacs                       [.] string_char_to_byte
+    0,98%     0,19%  rg            [kernel.kallsyms]           [k] try_to_wake_up
+    0,94%     0,01%  emacs         libc-2.24.so                [.] __GI___writev

[-- Attachment #3: perf.txt.2 --]
[-- Type: text/plain, Size: 4719 bytes --]

Samples: 93K of event 'cycles', Event count (approx.): 38670648824
  Children      Self  Command       Shared Object                  Symbol
+   26,75%    26,60%  emacs         emacs                          [.] mark_object
+   17,52%     0,00%  emacs         [unknown]                      [k] 0xfff42db4fff42ca2
+    7,85%     3,86%  emacs         emacs                          [.] re_search_2
+    6,08%     0,00%  rg            rg                             [.] 0xffffffffffdd4fed
+    5,96%     0,00%  rg            rg                             [.] 0xffffffffffdcd70c
+    5,96%     0,00%  rg            rg                             [.] 0xffffffffffde1deb
+    5,96%     0,00%  rg            rg                             [.] 0xffffffffffc03250
+    5,96%     0,00%  rg            rg                             [.] 0xffffffffffc05020
+    5,96%     0,00%  rg            rg                             [.] 0xffffffffffc1294f
+    5,79%     0,21%  emacs         emacs                          [.] funcall_lambda
+    4,81%     4,79%  emacs         emacs                          [.] sweep_strings
+    4,41%     0,00%  emacs         [unknown]                      [.] 0000000000000000
+    4,31%     0,00%  rg            rg                             [.] 0xffffffffffcfad8b
+    4,28%     0,00%  rg            rg                             [.] 0xffffffffffc484a8
+    4,26%     0,00%  rg            rg                             [.] 0xffffffffffc3ef09
+    4,20%     4,18%  emacs         emacs                          [.] exec_byte_code
+    3,47%     3,44%  emacs         emacs                          [.] assq_no_quit
+    3,44%     3,42%  emacs         emacs                          [.] re_match_2_internal
+    3,39%     0,00%  rg            [kernel.kallsyms]              [k] entry_SYSCALL_64_fastpath
+    3,16%     0,01%  emacs         [kernel.kallsyms]              [k] entry_SYSCALL_64_fastpath
+    2,89%     0,00%  rg            rg                             [.] 0xffffffffffc3b175
+    2,82%     0,00%  rg            rg                             [.] 0xffffffffffde39c6
+    2,53%     0,00%  rg            rg                             [.] 0xffffffffffc2e3d8
+    2,44%     0,00%  rg            rg                             [.] 0xffffffffffc3f014
+    2,39%     0,00%  rg            [kernel.kallsyms]              [k] sys_write
+    2,39%     0,00%  rg            [kernel.kallsyms]              [k] vfs_write
+    2,39%     0,00%  rg            [kernel.kallsyms]              [k] __vfs_write
+    2,38%     0,01%  rg            [kernel.kallsyms]              [k] tty_write
+    2,18%     0,61%  rg            [kernel.kallsyms]              [k] n_tty_write
     1,74%     1,73%  emacs         emacs                          [.] string_char_to_byte
+    1,47%     0,00%  rg            rg                             [.] 0xffffffffffc312d7
+    1,42%     1,41%  emacs         emacs                          [.] sweep_conses
+    1,33%     0,00%  emacs         [unknown]                      [.] 0xffffffc750e90000
+    1,28%     0,00%  rg            rg                             [.] 0xffffffffffc034a0
+    1,26%     0,00%  emacs         [unknown]                      [.] 0x000000000086df0c
+    1,26%     0,00%  rg            rg                             [.] 0xffffffffffc2eda9
+    1,24%     0,00%  rg            rg                             [.] 0xffffffffffdba822
+    1,24%     0,86%  emacs         libc-2.24.so                   [.] __memmove_avx_unaligned_erms
+    1,15%     0,03%  rg            [kernel.kallsyms]              [k] pty_write
+    1,14%     1,14%  emacs         emacs                          [.] Fassq
     1,12%     1,11%  emacs         emacs                          [.] sweep_vectors
+    1,04%     0,87%  emacs         emacs                          [.] Ffuncall
+    0,99%     0,98%  emacs         emacs                          [.] decode_coding_utf_8
+    0,96%     0,02%  rg            [kernel.kallsyms]              [k] tty_flip_buffer_push
+    0,94%     0,12%  rg            [kernel.kallsyms]              [k] queue_work_on
+    0,93%     0,91%  emacs         emacs                          [.] mark_char_table
+    0,91%     0,90%  emacs         emacs                          [.] produce_chars
+    0,89%     0,00%  rg            rg                             [.] 0xffffffffffc3ac4b
+    0,89%     0,00%  emacs         [unknown]                      [.] 0x08d347d3c0810700
     0,87%     0,86%  emacs         emacs                          [.] find_cache_boundary
+    0,86%     0,85%  emacs         emacs                          [.] buf_charpos_to_bytepos
+    0,83%     0,01%  emacs         libc-2.24.so                   [.] __GI___writev


[-- Attachment #4: perf.txt.11 --]
[-- Type: text/plain, Size: 4852 bytes --]

Samples: 108K of event 'cycles', Event count (approx.): 46413756102
  Children      Self  Command       Shared Object                     Symbol
+   24,40%    24,29%  emacs         emacs                             [.] mark_object
+   16,05%     0,00%  emacs         [unknown]                         [.] 0xfff42db4fff42ca2
+    6,60%     3,38%  emacs         emacs                             [.] re_search_2
+    6,19%     0,00%  rg            rg                                [.] 0xffffffffffdd4fed
+    6,13%     0,00%  rg            rg                                [.] 0xffffffffffdcd70c
+    6,13%     0,00%  rg            rg                                [.] 0xffffffffffde1deb
+    6,13%     0,00%  rg            rg                                [.] 0xffffffffffc03250
+    6,13%     0,00%  rg            rg                                [.] 0xffffffffffc05020
+    6,13%     0,00%  rg            rg                                [.] 0xffffffffffc1294f
+    5,09%     0,00%  rg            [kernel.kallsyms]                 [k] entry_SYSCALL_64_fastpath
+    4,88%     0,21%  emacs         emacs                             [.] funcall_lambda
+    4,80%     0,00%  rg            rg                                [.] 0xffffffffffcfad8b
+    4,77%     0,00%  rg            rg                                [.] 0xffffffffffc484a8
+    4,74%     0,00%  rg            rg                                [.] 0xffffffffffc3ef09
+    4,69%     0,00%  emacs         [unknown]                         [.] 0000000000000000
+    4,62%     4,57%  emacs         emacs                             [.] assq_no_quit
+    4,57%     0,00%  rg            rg                                [.] 0xffffffffffde39c6
+    4,15%     0,00%  rg            [kernel.kallsyms]                 [k] vfs_write
+    4,15%     0,00%  rg            [kernel.kallsyms]                 [k] sys_write
+    4,15%     0,00%  rg            [kernel.kallsyms]                 [k] __vfs_write
+    4,15%     0,01%  rg            [kernel.kallsyms]                 [k] tty_write
+    4,04%     0,00%  rg            rg                                [.] 0xffffffffffc3f014
+    3,82%     1,14%  rg            [kernel.kallsyms]                 [k] n_tty_write
+    3,59%     3,58%  emacs         emacs                             [.] exec_byte_code
+    3,57%     0,01%  emacs         [kernel.kallsyms]                 [k] entry_SYSCALL_64_fastpath
     3,51%     3,50%  emacs         emacs                             [.] sweep_strings
+    3,32%     0,00%  rg            rg                                [.] 0xffffffffffc3b175
+    2,91%     0,00%  rg            rg                                [.] 0xffffffffffc2e3d8
+    2,83%     2,82%  emacs         emacs                             [.] re_match_2_internal
+    2,14%     0,05%  rg            [kernel.kallsyms]                 [k] pty_write
+    1,89%     1,87%  emacs         emacs                             [.] decode_coding_utf_8
+    1,80%     0,02%  rg            [kernel.kallsyms]                 [k] tty_flip_buffer_push
+    1,78%     0,25%  rg            [kernel.kallsyms]                 [k] queue_work_on
+    1,72%     0,00%  rg            rg                                [.] 0xffffffffffc312d7
+    1,68%     1,66%  emacs         emacs                             [.] produce_chars
     1,61%     1,60%  emacs         emacs                             [.] string_char_to_byte
+    1,46%     0,00%  rg            rg                                [.] 0xffffffffffc034a0
+    1,41%     0,00%  rg            rg                                [.] 0xffffffffffc2eda9
+    1,40%     0,11%  rg            [kernel.kallsyms]                 [k] __queue_work
+    1,40%     0,00%  rg            rg                                [.] 0xffffffffffdba822
+    1,34%     0,00%  emacs         [unknown]                         [.] 0x100000000003e8f3
+    1,33%     1,32%  emacs         emacs                             [.] sweep_conses
+    1,26%     0,19%  rg            [kernel.kallsyms]                 [k] insert_work
+    1,20%     0,00%  emacs         [unknown]                         [.] 0x000000000086df0c
+    1,09%     1,09%  emacs         emacs                             [.] Fassq
     1,09%     1,09%  emacs         emacs                             [.] buf_bytepos_to_charpos
+    1,08%     0,00%  rg            [kernel.kallsyms]                 [k] wake_up_process
+    1,05%     0,18%  rg            [kernel.kallsyms]                 [k] try_to_wake_up
+    1,03%     0,01%  emacs         libc-2.24.so                      [.] __GI___writev
+    1,01%     0,01%  emacs         [kernel.kallsyms]                 [k] sys_writev
+    0,99%     0,98%  emacs         emacs                             [.] set_buffer_internal_2
+    0,99%     0,01%  emacs         [kernel.kallsyms]                 [k] do_writev


[-- Attachment #5: perf.txt.22 --]
[-- Type: text/plain, Size: 4544 bytes --]

Samples: 119K of event 'cycles', Event count (approx.): 49609855919
  Children      Self  Command       Shared Object               Symbol
+   28,68%    28,51%  emacs         emacs                       [.] mark_object
+   18,60%     0,00%  emacs         [unknown]                   [k] 0xfff42db4fff42ca2
+    6,76%     3,54%  emacs         emacs                       [.] re_search_2
+    5,94%     0,00%  rg            rg                          [.] 0xffffffffffdd4fed
+    5,85%     0,00%  rg            rg                          [.] 0xffffffffffdcd70c
+    5,85%     0,00%  rg            rg                          [.] 0xffffffffffde1deb
+    5,85%     0,00%  rg            rg                          [.] 0xffffffffffc03250
+    5,85%     0,00%  rg            rg                          [.] 0xffffffffffc05020
+    5,85%     0,00%  rg            rg                          [.] 0xffffffffffc1294f
+    5,23%     0,18%  emacs         emacs                       [.] funcall_lambda
+    4,94%     0,00%  emacs         [unknown]                   [.] 0000000000000000
+    4,85%     4,82%  emacs         emacs                       [.] sweep_strings
+    4,50%     0,00%  rg            rg                          [.] 0xffffffffffcfad8b
+    4,28%     0,00%  rg            rg                          [.] 0xffffffffffc484a8
+    4,25%     0,00%  rg            rg                          [.] 0xffffffffffc3ef09
+    4,05%     4,02%  emacs         emacs                       [.] assq_no_quit
+    3,78%     3,76%  emacs         emacs                       [.] exec_byte_code
+    3,68%     0,00%  rg            [kernel.kallsyms]           [k] entry_SYSCALL_64_fastpath
+    3,19%     0,00%  rg            rg                          [.] 0xffffffffffde39c6
+    2,99%     0,01%  emacs         [kernel.kallsyms]           [k] entry_SYSCALL_64_fastpath
+    2,92%     0,00%  rg            rg                          [.] 0xffffffffffc3b175
+    2,80%     2,79%  emacs         emacs                       [.] re_match_2_internal
+    2,79%     0,00%  rg            [kernel.kallsyms]           [k] sys_write
+    2,79%     0,00%  rg            [kernel.kallsyms]           [k] vfs_write
+    2,79%     0,00%  rg            [kernel.kallsyms]           [k] __vfs_write
+    2,78%     0,01%  rg            [kernel.kallsyms]           [k] tty_write
+    2,60%     0,00%  rg            rg                          [.] 0xffffffffffc3f014
+    2,56%     0,71%  rg            [kernel.kallsyms]           [k] n_tty_write
+    2,51%     0,00%  rg            rg                          [.] 0xffffffffffc2e3d8
     1,62%     1,61%  emacs         emacs                       [.] string_char_to_byte
+    1,41%     0,00%  rg            rg                          [.] 0xffffffffffc312d7
+    1,39%     0,03%  rg            [kernel.kallsyms]           [k] pty_write
+    1,38%     1,37%  emacs         emacs                       [.] sweep_conses
+    1,36%     0,00%  emacs         [unknown]                   [.] 0x000000000086df0c
+    1,24%     0,00%  rg            rg                          [.] 0xffffffffffc2eda9
+    1,21%     0,00%  rg            rg                          [.] 0xffffffffffc034a0
     1,19%     1,18%  emacs         emacs                       [.] sweep_vectors
+    1,19%     0,02%  rg            [kernel.kallsyms]           [k] tty_flip_buffer_push
+    1,17%     0,14%  rg            [kernel.kallsyms]           [k] queue_work_on
+    1,15%     0,00%  rg            rg                          [.] 0xffffffffffdba822
+    1,06%     1,04%  emacs         emacs                       [.] decode_coding_utf_8
+    1,05%     0,87%  emacs         emacs                       [.] Ffuncall
     1,04%     0,84%  emacs         libc-2.24.so                [.] __memmove_avx_unaligned_erms
+    0,97%     0,96%  emacs         emacs                       [.] mark_char_table
+    0,97%     0,95%  emacs         emacs                       [.] produce_chars
+    0,94%     0,06%  rg            [kernel.kallsyms]           [k] __queue_work
+    0,94%     0,93%  emacs         emacs                       [.] Fassq
     0,88%     0,87%  emacs         emacs                       [.] find_cache_boundary
+    0,87%     0,00%  rg            rg                          [.] 0xffffffffffc3ac4b
+    0,86%     0,10%  rg            [kernel.kallsyms]           [k] insert_work
+    0,86%     0,02%  emacs         libc-2.24.so                [.] __GI___writev
+    0,85%     0,00%  emacs         [unknown]                   [.] 0xbdbe522fc9012600


  reply	other threads:[~2017-10-26 23:19 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-10-04  3:10 bug#28695: 26.0.60; Rendering lag spikes caused by double-buffering on Linux Bryan Gilbert
2017-10-04  7:53 ` Eli Zaretskii
2017-10-04  9:04 ` martin rudalics
2017-10-04  9:32   ` Eli Zaretskii
2017-10-04 11:21     ` Bryan Gilbert
2017-10-04 11:36       ` Eli Zaretskii
2017-10-04 12:02         ` Bryan Gilbert
2017-10-04 12:31           ` Eli Zaretskii
2017-10-05 13:36       ` Dmitry Gutov
2017-10-05 14:01         ` Eli Zaretskii
2017-10-05 14:02         ` Noam Postavsky
2017-10-07  7:53           ` Dmitry Gutov
2017-10-07  8:14             ` Eli Zaretskii
2017-10-09 13:53               ` Dmitry Gutov
2017-10-09 14:03                 ` Eli Zaretskii
2017-10-15 22:55                   ` Dmitry Gutov
2017-10-16  2:30                     ` Eli Zaretskii
2017-10-26 23:19                       ` Dmitry Gutov [this message]
2017-10-28  9:33                         ` Eli Zaretskii
2017-10-28 21:47                         ` bug#28695: 26.0.60; Rendering lag spikes caused by double-buffering on GNU/Linux Richard Stallman
2017-10-05 14:26         ` bug#28695: 26.0.60; Rendering lag spikes caused by double-buffering on Linux Bryan Gilbert
2022-04-23 13:46 ` Lars Ingebrigtsen
2022-05-22 11:28   ` Lars Ingebrigtsen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=157e8c6e-7bf9-7506-f640-3c9dadd2ffb8@yandex.ru \
    --to=dgutov@yandex.ru \
    --cc=28695@debbugs.gnu.org \
    --cc=bryan@bryan.sh \
    --cc=eliz@gnu.org \
    --cc=npostavs@users.sourceforge.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.