Vincent Palatin 7d82af38b7 Fix performance regression in qemu_get_ram_ptr
When the commit f471a17e9d869df3c6573f7ec02c4725676d6f3a converted the
ram_blocks structure to QLIST, it also removed the conditional check before
switching the current block at the beginning of the list.

In the common use case where ram_blocks has a few blocks with only one
frequently accessed (the main RAM), this has a performance impact as it
performs the useless list operations on each call (which are on a really
hot path).

On my machine emulation (ARM on amd64), this patch reduces the
percentage of CPU time spent in qemu_get_ram_ptr from 6.3% to 2.1% in the
profiling of a full boot.

Signed-off-by: Vincent Palatin <vpalatin@chromium.org>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2011-03-10 16:12:21 -06:00
2011-01-25 19:56:53 +03:00
2011-02-10 13:24:29 +01:00
2011-02-25 15:14:04 +00:00
2011-02-01 16:57:00 -06:00
2010-12-09 14:23:24 +01:00
2011-02-01 16:57:00 -06:00
2011-03-07 13:42:37 +01:00
2011-03-07 13:42:37 +01:00
2011-02-24 11:25:38 -06:00
2011-03-07 13:42:36 +01:00
2011-03-07 13:42:36 +01:00
2010-04-09 18:55:56 +02:00
2011-02-07 12:51:19 +01:00
2011-02-07 12:51:19 +01:00
2011-01-10 10:55:10 +01:00
2010-12-02 21:13:39 +02:00
2010-11-01 00:54:06 +03:00
2011-02-20 18:45:09 +01:00
2010-05-19 12:45:54 -03:00
2010-05-19 12:45:54 -03:00
2010-05-19 12:45:54 -03:00
2010-05-19 12:45:54 -03:00
2011-01-20 20:58:56 +00:00
2011-02-25 20:16:26 +00:00
2010-10-20 16:15:04 -05:00
2011-03-07 13:42:58 +01:00
2011-02-01 16:50:43 -06:00
2011-03-07 13:42:36 +01:00
2010-05-24 15:18:23 -05:00
2011-03-07 13:42:36 +01:00
2011-02-10 18:17:43 +01:00
2011-03-07 13:42:36 +01:00
2011-01-20 20:54:21 +00:00
2010-03-29 19:24:00 +00:00
2010-05-22 08:02:12 +00:00
2011-03-06 21:01:32 +01:00
2010-11-21 09:16:57 -06:00
2010-11-21 09:16:57 -06:00
2010-05-10 11:36:03 -05:00
2010-05-10 11:36:03 -05:00
2010-06-11 15:25:14 -03:00
2011-02-14 12:39:47 -02:00
2011-01-20 20:54:21 +00:00
2010-03-21 08:28:47 +00:00
2010-05-22 08:24:49 +00:00
2011-03-07 13:42:37 +01:00
2011-02-14 12:39:46 -02:00
2010-12-09 14:23:24 +01:00
2010-10-30 08:02:40 +00:00
2011-02-09 10:33:54 +02:00
2011-03-07 13:42:36 +01:00
2010-05-19 12:45:54 -03:00
2010-07-01 14:27:13 -03:00
2010-07-01 14:27:13 -03:00
2011-02-01 16:50:43 -06:00
2011-01-24 15:41:40 +01:00
2010-09-21 18:36:42 +02:00
2011-01-31 10:03:00 +01:00
2010-05-19 12:45:54 -03:00
2011-02-23 16:28:29 -06:00
2011-01-09 20:59:53 +00:00
2010-05-19 12:45:54 -03:00
2010-05-19 12:45:54 -03:00
2010-05-19 12:45:54 -03:00
2010-10-01 10:12:43 -03:00
2010-05-19 12:45:54 -03:00
2010-05-19 12:45:54 -03:00
2010-05-19 12:45:54 -03:00
2010-05-19 12:45:54 -03:00
2010-05-19 12:45:54 -03:00
2010-09-18 05:53:14 +00:00
2011-01-20 20:54:21 +00:00
2011-02-14 12:39:46 -02:00
2011-01-24 15:41:40 +01:00
2011-03-07 13:42:37 +01:00
2011-01-09 14:43:33 +00:00
2011-02-02 08:39:28 +01:00

Read the documentation in qemu-doc.html.

Fabrice Bellard.
Description
QEMU With E2K User Support
Readme 459 MiB
Languages
C 83.1%
C++ 6.3%
Python 3.2%
Dylan 2.8%
Shell 1.6%
Other 2.8%