Mike Day 0dc3f44aca Convert ram_list to RCU
Allow "unlocked" reads of the ram_list by using an RCU-enabled QLIST.

The ramlist mutex is kept.  call_rcu callbacks are run with the iothread
lock taken, but that may change in the future.  Writers still take the
ramlist mutex, but they no longer need to assume that the iothread lock
is taken.

Readers of the list, instead, no longer require either the iothread
or ramlist mutex, but they need to use rcu_read_lock() and
rcu_read_unlock().

One place in arch_init.c was downgrading from write side to read side
like this:

    qemu_mutex_lock_iothread()
    qemu_mutex_lock_ramlist()
    ...
    qemu_mutex_unlock_iothread()
    ...
    qemu_mutex_unlock_ramlist()

and the equivalent idiom is:

    qemu_mutex_lock_ramlist()
    rcu_read_lock()
    ...
    qemu_mutex_unlock_ramlist()
    ...
    rcu_read_unlock()

Reviewed-by: Fam Zheng <famz@redhat.com>
Signed-off-by: Mike Day <ncmike@ncultra.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2015-02-16 17:31:55 +01:00
2015-02-16 17:30:19 +01:00
2013-04-18 13:50:53 +02:00
2015-02-06 16:11:38 +00:00
2015-02-16 17:30:19 +01:00
2015-02-16 17:31:55 +01:00
2014-11-14 12:15:40 +01:00
2015-02-05 17:16:14 +01:00
2015-02-03 13:42:40 +01:00
2015-02-16 17:30:20 +01:00
2015-02-03 21:37:16 +00:00
2015-02-16 17:30:19 +01:00
2015-02-11 21:48:40 +01:00
2012-09-07 09:02:44 +03:00
2014-06-16 13:24:35 +02:00
2013-09-05 09:40:31 -05:00
2015-02-16 17:31:55 +01:00
2013-10-11 09:34:56 -07:00
2008-10-12 17:54:42 +00:00
2015-02-16 17:30:19 +01:00
2015-02-16 17:30:19 +01:00
2015-02-16 17:30:19 +01:00
2015-01-07 16:16:26 +01:00
2015-02-16 17:31:55 +01:00
2013-07-23 02:41:31 +02:00
2014-10-24 12:19:11 +01:00
2014-09-26 13:37:06 -04:00
2015-02-06 14:35:52 +00:00
2015-02-05 17:16:14 +01:00
2015-02-06 14:35:52 +00:00
2014-12-10 10:31:12 +01:00
2015-01-22 17:41:59 +00:00
2015-01-15 10:44:13 +03:00
2014-12-12 15:48:26 +00:00
2014-05-24 00:07:29 +04:00
2015-02-05 17:16:14 +01:00
2013-10-11 09:34:56 -07:00
2015-01-14 10:38:57 +01:00
2014-02-17 11:57:23 -05:00
2015-02-05 17:16:14 +01:00
2014-06-05 16:10:33 +02:00
2014-12-09 21:48:34 +00:00
2013-10-11 09:34:56 -07:00

Read the documentation in qemu-doc.html or on http://wiki.qemu-project.org

- QEMU team
Description
A fork of QEMU-Nyx which is better suited for my bachelors thesis
Readme 154 MiB
Languages
C 90.3%
Dylan 2.5%
Python 2.1%
C++ 2%
Shell 1.7%
Other 1.4%