qemu/include/sysemu
Peter Xu b506e0f16c iothread: create the gcontext unconditionally
In existing code we create the gcontext dynamically at the first
access of the gcontext from caller.  That can bring some complexity
and potential races during using iothread.  Since the context itself
is not that big a resource, and we won't have millions of iothread,
let's simply create the gcontext unconditionally.

This will also be a preparation work further to move the thread
context push operation earlier than before (now it's only pushed right
before we want to start running the gmainloop).

Removing the g_once since it's not necessary, while introducing a new
run_gcontext boolean to show whether we want to run the gcontext.

Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: Peter Xu <peterx@redhat.com>
Message-id: 20190306115532.23025-3-peterx@redhat.com
Message-Id: <20190306115532.23025-3-peterx@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2019-03-08 10:16:15 +00:00
..
accel.h accel: Improve selection of the default accelerator 2019-01-11 13:57:23 +01:00
arch_init.h qapi: make query-cpu-definitions depend on specific targets 2019-02-18 14:44:05 +01:00
balloon.h avoid TABs in files that only contain a few 2019-01-11 15:46:56 +01:00
block-backend.h block-backend: Make blk_inc/dec_in_flight public 2019-02-25 15:03:19 +01:00
blockdev.h blockdev: Convert drive_new() to Error 2018-10-19 14:51:34 +02:00
bt.h hw/bt: Remove HCIInfo from "qemu/typedefs.h" 2019-01-22 05:14:32 +01:00
cpus.h migration: Mark CPU states dirty before incoming migration/loadvm 2017-06-06 08:53:24 +10:00
cryptodev-vhost-user.h cryptodev-vhost-user: set the key length 2018-03-01 18:26:17 +02:00
cryptodev-vhost.h cryptodev: add vhost-user as a new cryptodev backend 2018-03-01 18:26:17 +02:00
cryptodev.h cryptodev: add vhost support 2018-03-01 18:26:17 +02:00
device_tree.h device_tree: Add qemu_fdt_node_unit_path 2018-06-29 15:11:01 +01:00
dma.h Make address_space_access_valid() take a MemTxAttrs argument 2018-05-31 16:32:35 +01:00
dump-arch.h
dump.h qapi: Empty out qapi-schema.json 2018-03-02 13:45:50 -06:00
hax.h hax: Support guest RAM sizes of 4GB or more 2018-02-13 11:44:13 +01:00
hostmem.h hostmem: use object id for memory region name with >= 4.0 2019-01-07 16:18:42 +04:00
hvf.h i386: hvf: Remove hvf_disabled 2018-10-19 13:44:12 +02:00
hw_accel.h Add the WHPX acceleration enlightenments 2018-02-07 14:09:26 +01:00
iothread.h iothread: create the gcontext unconditionally 2019-03-08 10:16:15 +00:00
kvm_int.h kvm: Delete the slot if and only if the KVM_MEM_READONLY flag is changed 2018-06-28 19:05:31 +02:00
kvm.h qemu/queue.h: leave head structs anonymous unless necessary 2019-01-11 15:46:55 +01:00
memory_mapping.h qemu/queue.h: simplify reverse access to QTAILQ 2019-01-11 15:46:55 +01:00
numa.h numa: Match struct to typedef name 2018-12-11 15:45:22 -02:00
os-posix.h
os-win32.h
qtest.h
replay.h replay: pass raw icount value to replay_save_clock 2018-10-19 13:44:15 +02:00
reset.h
rng-random.h
rng.h qemu/queue.h: leave head structs anonymous unless necessary 2019-01-11 15:46:55 +01:00
seccomp.h sandbox: disable -sandbox if CONFIG_SECCOMP undefined 2018-06-01 13:44:15 +02:00
sev.h kvm: introduce memory encryption APIs 2018-03-13 12:04:03 +01:00
sysemu.h migration: Switch to using announce timer 2019-03-05 11:27:41 +08:00
tpm_backend.h Drop superfluous includes of qapi-types.h and test-qapi-types.h 2018-02-09 05:05:11 +01:00
tpm.h qom: make interface types abstract 2018-12-11 15:45:22 -02:00
watchdog.h Include less of the generated modular QAPI headers 2018-03-02 13:45:50 -06:00
whpx.h Clean up includes 2018-12-20 10:29:08 +01:00
xen-mapcache.h xen/hvm: correct reporting of modified memory under physmap during migration 2018-05-31 12:04:54 -07:00