archive mirror
 help / color / mirror / Atom feed
From: ahmadkhorrami <>
To: Linux-trace Users <>
Subject: Perf Reports Jump Instructions as Memory Access Instructions
Date: Sun, 17 May 2020 19:40:52 +0430	[thread overview]
Message-ID: <> (raw)

I used the following perf command to sample user space read accesses to 
DRAM by evince:
perf record -d --call-graph dwarf -c 100 -e 
mem_load_uops_retired.l3_miss:uppp /opt/evince-3.28.4/bin/evince

As can be seen, I used the PEBS feature to increase the accuracy of 
sampling. But there are some non-memory accesses reported as memory 
ones. Here is one of them reported by perf script -D:
11159097179866 0xfb80 [0x1778]: PERF_RECORD_SAMPLE(IP, 0x4002): 
7309/7309: 0x7ffff6d6c310 period: 10000 addr: 0x7ffff7034e50
... FP chain: nr:0
... user regs: mask 0xff0fff ABI 64-bit
.... AX    0x555555b8b4c0
.... BX    0x555555c48e10
.... CX    0x1
.... DX    0x7fffffffd988
.... SI    0x7fffffffd980
.... DI    0x555555b8b4c0
.... BP    0x258
.... SP    0x7fffffffd978
.... IP    0x7ffff6d6c310
.... FLAGS 0x20e
.... CS    0x33
.... SS    0x2b
.... R8    0x27c
.... R9    0x24
.... R10   0x2a2
.... R11   0x0
.... R12   0x258
.... R13   0x555555b8b4c0
.... R14   0x3000
.... R15   0x7ffff5747000
... ustack: size 5768, offset 0xd8
  . data_src: 0x5080022
  ... thread: evince:7309
  ...... dso: /usr/lib/x86_64-linux-gnu/
evince  7309 11159.097179:      10000    
mem_load_uops_retired.l3_miss:uppp:     7ffff7034e50         5080022 
         7ffff6d6c310 cairo_surface_get_device_scale@plt+0x0 
         7ffff6d91029 gdk_window_create_similar_surface+0xc9 
         7ffff6d95410 gdk_window_begin_paint_internal+0x350 
         7ffff6d956f1 gdk_window_begin_draw_frame+0xc1 
         7ffff73c4942 gtk_widget_render+0xd2 
         7ffff7268858 gtk_main_do_event+0x708 
         7ffff6d79764 _gdk_event_emit+0x24 
         7ffff6d897f4 _gdk_window_process_updates_recurse_helper+0x104 
         7ffff6d8a9f5 gdk_window_process_updates_internal+0x165 
         7ffff6d8abef gdk_window_process_updates_with_mode+0x11f 
         7ffff574510c g_closure_invoke+0x19c 
         7ffff575805d signal_emit_unlocked_R+0xf4d 
         7ffff5760714 g_signal_emit_valist+0xa74 
         7ffff576112e g_signal_emit+0x8e 
         7ffff6d82ac8 gdk_frame_clock_paint_idle+0x3c8 
         7ffff6d6e07f gdk_threads_dispatch+0x1f 
         7ffff546ad02 g_timeout_dispatch+0x12 
         7ffff546a284 g_main_dispatch+0x154 (inlined)
         7ffff546a284 g_main_context_dispatch+0x154 
         7ffff546a64f g_main_context_iterate+0x1ff (inlined)
         7ffff546a6db g_main_context_iteration+0x2b 
         7ffff5a2be3c g_application_run+0x1fc 
         555555573707 main+0x447 (/opt/evince-3.28.4/bin/evince)
         7ffff4a91b96 __libc_start_main+0xe6 
         555555573899 _start+0x29 (/opt/evince-3.28.4/bin/evince)

The access point is at offset 0 of the following disassembly:
Dump of assembler code for function cairo_surface_get_device_scale@plt:
    0x000000000002a310 <+0>:     jmpq   *0x2c8b3a(%rip)        # 0x2f2e50
    0x000000000002a316 <+6>:     pushq  $0x1c7
    0x000000000002a31b <+11>:    jmpq   0x28690

This is an unconditional jump which will not lead to macrofusion.

Any help is appreciated.


             reply	other threads:[~2020-05-17 15:24 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-17 15:10 ahmadkhorrami [this message]
2020-05-23 18:07 ` Perf Reports Jump Instructions as Memory Access Instructions ahmadkhorrami
2020-05-25 14:52 ` Steven Rostedt
2020-05-26 13:38 Arnaldo Carvalho de Melo
2020-05-26 16:42 ` Andi Kleen
2020-05-26 19:55   ` ahmadkhorrami
2020-06-03  3:49     ` ahmadkhorrami

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:

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

  git send-email \ \ \ \

* 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.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).