qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] 035873: qom: aggressively optimize qom castin


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] 035873: qom: aggressively optimize qom casting
Date: Tue, 14 May 2013 08:30:11 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 035873283b3f7514ad77d409870ccfd5f9680d9e
      
https://github.com/qemu/qemu/commit/035873283b3f7514ad77d409870ccfd5f9680d9e
  Author: Anthony Liguori <address@hidden>
  Date:   2013-05-13 (Mon, 13 May 2013)

  Changed paths:
    M include/qom/object.h
    M qom/object.c

  Log Message:
  -----------
  qom: aggressively optimize qom casting

This patch adds a small typename cache to ObjectClass.  This allows
caching positive casts within each ObjectClass.  Benchmarking a
PPC workload provided by Aurelien, this patch eliminates every
single g_hash_table_lookup() happening during the benchmark (which
was about 2 million per-second).

With this patch applied, I get exactly the same performance (within
the margin of error) as with --disable-qom-cast-debug.

N.B. it's safe to cache typenames only from the _assert() macros
because they are always called with string literals.

Signed-off-by: Anthony Liguori <address@hidden>


  Commit: 2d3b989529727ccace243b953a181fbae04a30d1
      
https://github.com/qemu/qemu/commit/2d3b989529727ccace243b953a181fbae04a30d1
  Author: Gerd Hoffmann <address@hidden>
  Date:   2013-05-14 (Tue, 14 May 2013)

  Changed paths:
    M hw/acpi/core.c

  Log Message:
  -----------
  acpi: add dummy write function for acpi timer

Otherwise the guest can crash qemu (NULL pointer dereference).

https://bugzilla.redhat.com/show_bug.cgi?id=947691

Signed-off-by: Gerd Hoffmann <address@hidden>
Reviewed-by: Laszlo Ersek <address@hidden>
Message-id: address@hidden
Signed-off-by: Anthony Liguori <address@hidden>


  Commit: d8e846e17cae31bfeee49d4da8a010fad3901cd9
      
https://github.com/qemu/qemu/commit/d8e846e17cae31bfeee49d4da8a010fad3901cd9
  Author: Paolo Bonzini <address@hidden>
  Date:   2013-05-14 (Tue, 14 May 2013)

  Changed paths:
    M hw/arm/spitz.c

  Log Message:
  -----------
  spitz: fix compilation failure due to pty.h namespace pollution

pty.h is polluting the global namespace with a CTRL macro.  spitz
thus fails compilation with the patch at
http://article.gmane.org/gmane.comp.emulators.qemu/211337 and
this patch fixes it.

Signed-off-by: Paolo Bonzini <address@hidden>
Message-id: address@hidden
Signed-off-by: Anthony Liguori <address@hidden>


  Commit: 7791dba3ec10ab7daa7cfecf84c617594c9776cc
      
https://github.com/qemu/qemu/commit/7791dba3ec10ab7daa7cfecf84c617594c9776cc
  Author: Paolo Bonzini <address@hidden>
  Date:   2013-05-14 (Tue, 14 May 2013)

  Changed paths:
    M include/qemu-common.h
    M qemu-char.c
    M ui/gtk.c

  Log Message:
  -----------
  portability: pty.h is glibc-specific

This should fix building the GTK+ front-end on BSDs.

Signed-off-by: Paolo Bonzini <address@hidden>
Message-id: address@hidden
Signed-off-by: Anthony Liguori <address@hidden>


  Commit: d34dc45d34618aa2495e892caba62a4aa521b386
      
https://github.com/qemu/qemu/commit/d34dc45d34618aa2495e892caba62a4aa521b386
  Author: Kevin Wolf <address@hidden>
  Date:   2013-05-14 (Tue, 14 May 2013)

  Changed paths:
    M readline.c

  Log Message:
  -----------
  readline: Handle xterm escape sequences for Home/End keys

This fixes the Home/End keys in the monitor using the GTK frontend.

Signed-off-by: Kevin Wolf <address@hidden>
Message-id: address@hidden
Signed-off-by: Anthony Liguori <address@hidden>


  Commit: 6eebf958abf3f3f701116d4524ef88bb9fd6e341
      
https://github.com/qemu/qemu/commit/6eebf958abf3f3f701116d4524ef88bb9fd6e341
  Author: Paolo Bonzini <address@hidden>
  Date:   2013-05-14 (Tue, 14 May 2013)

  Changed paths:
    M HACKING
    M exec.c
    M include/qemu/osdep.h
    M include/sysemu/kvm.h
    M kvm-all.c
    M target-s390x/kvm.c
    M trace-events
    M util/oslib-posix.c
    M util/oslib-win32.c

  Log Message:
  -----------
  osdep, kvm: rename low-level RAM allocation functions

This is preparatory to the introduction of a separate freeing API.

Reported-by: Amos Kong <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
Reviewed-by: Amos Kong <address@hidden>
Message-id: address@hidden
Signed-off-by: Anthony Liguori <address@hidden>


  Commit: e7a09b92b70786f9e8c5fbf787e0248c6ebbe707
      
https://github.com/qemu/qemu/commit/e7a09b92b70786f9e8c5fbf787e0248c6ebbe707
  Author: Paolo Bonzini <address@hidden>
  Date:   2013-05-14 (Tue, 14 May 2013)

  Changed paths:
    M exec.c
    M include/qemu/osdep.h
    M trace-events
    M util/oslib-posix.c
    M util/oslib-win32.c

  Log Message:
  -----------
  osdep: introduce qemu_anon_ram_free to free qemu_anon_ram_alloc-ed memory

We switched from qemu_memalign to mmap() but then we don't modify
qemu_vfree() to do a munmap() over free().  Which we cannot do
because qemu_vfree() frees memory allocated by qemu_{mem,block}align.

Introduce a new function that does the munmap(), luckily the size is
available in the RAMBlock.

Reported-by: Amos Kong <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
Reviewed-by: Amos Kong <address@hidden>
Message-id: address@hidden
Signed-off-by: Anthony Liguori <address@hidden>


Compare: https://github.com/qemu/qemu/compare/b087143b4d01...e7a09b92b707

reply via email to

[Prev in Thread] Current Thread [Next in Thread]