[Nouveau] qemu -display sdl,gl=on also eats CPU

Andrew Randrianasulu randrianasulu at gmail.com
Tue Aug 18 07:51:54 UTC 2020


Update, after few hours of qemu uptime
I can see this oreport:

CPU: AMD64 family15h, speed 3800 MHz (estimated)
Counted CPU_CLK_UNHALTED events (CPU Clocks not Halted) with a unit mask of 0x00 (No unit mask) count 100000
samples  %        linenr info                 image name               symbol name
-------------------------------------------------------------------------------
385793   53.1157  nv50_context.c:409          nouveau_dri.so           nv50_bufctx_fence
  385793   100.000  nv50_context.c:409          nouveau_dri.so           nv50_bufctx_fence [self]
-------------------------------------------------------------------------------
151037   20.7947  pushbuf.c:482               libdrm_nouveau.so.2.0.0  pushbuf_validate
  151037   100.000  pushbuf.c:482               libdrm_nouveau.so.2.0.0  pushbuf_validate [self]
-------------------------------------------------------------------------------
83835    11.5423  pushbuf.c:149               libdrm_nouveau.so.2.0.0  pushbuf_kref
  83835    100.000  pushbuf.c:149               libdrm_nouveau.so.2.0.0  pushbuf_kref [self]
-------------------------------------------------------------------------------
44660     6.1488  (no location information)   libpixman-1.so.0.38.0    /usr/X11R7/lib/libpixman-1.so.0.38.0
  44660    100.000  (no location information)   libpixman-1.so.0.38.0    /usr/X11R7/lib/libpixman-1.so.0.38.0 [self]
-------------------------------------------------------------------------------
16662     2.2940  (no location information)   libc-2.30.so             memcpy
  16662    100.000  (no location information)   libc-2.30.so             memcpy [self]
-------------------------------------------------------------------------------
8587      1.1823  (no location information)   kallsyms                 dma_direct_alloc_pages
  8587     100.000  (no location information)   kallsyms                 dma_direct_alloc_pages [self]
-------------------------------------------------------------------------------
2276      0.3134  (no location information)   kallsyms                 ioread32
  2276     100.000  (no location information)   kallsyms                 ioread32 [self]
-------------------------------------------------------------------------------
2033      0.2799  (no location information)   qemu-system-x86_64       /usr/bin/qemu-system-x86_64
  2033     100.000  (no location information)   qemu-system-x86_64       /usr/bin/qemu-system-x86_64 [self]
-------------------------------------------------------------------------------
1925      0.2650  (no location information)   libdrm_nouveau.so.2.0.0  __x86.get_pc_thunk.si
  1925     100.000  (no location information)   libdrm_nouveau.so.2.0.0  __x86.get_pc_thunk.si [self]
-------------------------------------------------------------------------------
1765      0.2430  (no location information)   nouveau                  /nouveau
  1765     100.000  (no location information)   nouveau                  /nouveau [self]
-------------------------------------------------------------------------------
1453      0.2000  (no location information)   ttm                      /ttm
  1453     100.000  (no location information)   ttm                      /ttm [self]
-------------------------------------------------------------------------------
1286      0.1771  (no location information)   ld-2.30.so               _dl_update_slotinfo
  1286     100.000  (no location information)   ld-2.30.so               _dl_update_slotinfo [self]
-------------------------------------------------------------------------------
1038      0.1429  (no location information)   kallsyms                 atomic_try_cmpxchg
  1038     100.000  (no location information)   kallsyms                 atomic_try_cmpxchg [self]
-------------------------------------------------------------------------------
990       0.1363  (no location information)   kallsyms                 find_next_iomem_res
  990      100.000  (no location information)   kallsyms                 find_next_iomem_res [self]
-------------------------------------------------------------------------------
837       0.1152  (no location information)   libc-2.30.so             cfree at GLIBC_2.0
  837      100.000  (no location information)   libc-2.30.so             cfree at GLIBC_2.0 [self]
-------------------------------------------------------------------------------
741       0.1020  (no location information)   libc-2.30.so             _int_free
  741      100.000  (no location information)   libc-2.30.so             _int_free [self]
-------------------------------------------------------------------------------
590       0.0812  (no location information)   libc-2.30.so             malloc
  590      100.000  (no location information)   libc-2.30.so             malloc [self]
-------------------------------------------------------------------------------


while initially it was:

 opreport -c -g  --session-dir=./1/oprofile_data/ | less

CPU: AMD64 family15h, speed 3800 MHz (estimated)
Counted CPU_CLK_UNHALTED events (CPU Clocks not Halted) with a unit mask of 0x00 (No unit mask) count 100000
samples  %        linenr info                 image name               symbol name
-------------------------------------------------------------------------------
70223    33.8331  (no location information)   libc-2.30.so             memcpy
  70223    100.000  (no location information)   libc-2.30.so             memcpy [self]
-------------------------------------------------------------------------------
36385    17.5301  (no location information)   libpixman-1.so.0.38.0    /usr/X11R7/lib/libpixman-1.so.0.38.0
  36385    100.000  (no location information)   libpixman-1.so.0.38.0    /usr/X11R7/lib/libpixman-1.so.0.38.0 [self]
-------------------------------------------------------------------------------
35130    16.9255  (no location information)   kallsyms                 dma_direct_alloc_pages
  35130    100.000  (no location information)   kallsyms                 dma_direct_alloc_pages [self]
-------------------------------------------------------------------------------
3885      1.8718  (no location information)   ttm                      /ttm
  3885     100.000  (no location information)   ttm                      /ttm [self]
-------------------------------------------------------------------------------
3873      1.8660  (no location information)   kallsyms                 find_next_iomem_res
  3873     100.000  (no location information)   kallsyms                 find_next_iomem_res [self]
-------------------------------------------------------------------------------
3429      1.6521  (no location information)   qemu-system-x86_64       /usr/bin/qemu-system-x86_64
  3429     100.000  (no location information)   qemu-system-x86_64       /usr/bin/qemu-system-x86_64 [self]
-------------------------------------------------------------------------------
2883      1.3890  (no location information)   nouveau                  /nouveau
  2883     100.000  (no location information)   nouveau                  /nouveau [self]
-------------------------------------------------------------------------------
2119      1.0209  (no location information)   kallsyms                 atomic_try_cmpxchg
  2119     100.000  (no location information)   kallsyms                 atomic_try_cmpxchg [self]
-------------------------------------------------------------------------------
1812      0.8730  (no location information)   kvm_amd                  /kvm_amd
  1812     100.000  (no location information)   kvm_amd                  /kvm_amd [self]
-------------------------------------------------------------------------------
1759      0.8475  nv50_context.c:409          nouveau_dri.so           nv50_bufctx_fence
  1759     100.000  nv50_context.c:409          nouveau_dri.so           nv50_bufctx_fence [self]
-------------------------------------------------------------------------------
1681      0.8099  (no location information)   kvm                      /kvm
  1681     100.000  (no location information)   kvm                      /kvm [self]
-------------------------------------------------------------------------------
1668      0.8036  (no location information)   kallsyms                 __x86_indirect_thunk_rax
  1668     100.000  (no location information)   kallsyms                 __x86_indirect_thunk_rax [self]
-------------------------------------------------------------------------------
1564      0.7535  (no location information)   kallsyms                 page_fault
  1564     100.000  (no location information)   kallsyms                 page_fault [self]
-------------------------------------------------------------------------------
1314      0.6331  image.c:121                 nouveau_dri.so           _mesa_image_offset
  1314     100.000  image.c:121                 nouveau_dri.so           _mesa_image_offset [self]
-------------------------------------------------------------------------------
1249      0.6018  pushbuf.c:482               libdrm_nouveau.so.2.0.0  pushbuf_validate
  1249     100.000  pushbuf.c:482               libdrm_nouveau.so.2.0.0  pushbuf_validate [self]
-------------------------------------------------------------------------------
1123      0.5411  (no location information)   kallsyms                 unmap_page_range
  1123     100.000  (no location information)   kallsyms                 unmap_page_range [self]
-------------------------------------------------------------------------------
1088      0.5242  (no location information)   kallsyms                 atomic_sub_return.constprop.3
  1088     100.000  (no location information)   kallsyms                 atomic_sub_return.constprop.3 [self]
-------------------------------------------------------------------------------

pixman/memcpy dominating initial profile probably OK, because guest uses vesa driver and KDE4  with 1920x1200 
resolution, scaled down to my monitor resolution 1440x900 :}

I'll attach compressed oprofile directories with data (from oprofile 1.2.0)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 1-qemu-samples_fresh.tar.gz
Type: application/x-tgz
Size: 92765 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/nouveau/attachments/20200818/c2378156/attachment-0003.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 2-qemu-samples_mid.tar.gz
Type: application/x-tgz
Size: 95381 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/nouveau/attachments/20200818/c2378156/attachment-0004.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 3-qemu-samples_last.tar.gz
Type: application/x-tgz
Size: 69855 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/nouveau/attachments/20200818/c2378156/attachment-0005.bin>


More information about the Nouveau mailing list