/openbmc/qemu/include/sysemu/ |
H A D | iothread.h | 24 struct IOThread { struct 42 typedef struct IOThread IOThread; argument 44 DECLARE_INSTANCE_CHECKER(IOThread, IOTHREAD, 47 char *iothread_get_id(IOThread *iothread); 48 IOThread *iothread_by_id(const char *id); 49 AioContext *iothread_get_aio_context(IOThread *iothread); 50 GMainContext *iothread_get_g_main_context(IOThread *iothread); 57 IOThread *iothread_create(const char *id, Error **errp); 58 void iothread_stop(IOThread *iothread); 59 void iothread_destroy(IOThread *iothread);
|
/openbmc/qemu/ |
H A D | iothread.c | 41 IOThread *iothread = opaque; in iothread_run() 82 IOThread *iothread = opaque; in iothread_stop_bh() 91 void iothread_stop(IOThread *iothread) in iothread_stop() 103 IOThread *iothread = IOTHREAD(obj); in iothread_instance_init() 114 IOThread *iothread = IOTHREAD(obj); in iothread_instance_finalize() 157 IOThread *iothread = IOTHREAD(base); in iothread_set_aio_context_params() 240 IOThread *iothread = IOTHREAD(obj); in iothread_get_param() 249 IOThread *iothread = IOTHREAD(obj); in iothread_set_param() 279 IOThread *iothread = IOTHREAD(obj); in iothread_set_poll_param() 320 .instance_size = sizeof(IOThread), [all …]
|
H A D | blockdev.c | 3562 IOThread *obj = iothread_by_id(iothread->u.s); in qmp_x_blockdev_set_iothread()
|
/openbmc/qemu/tests/unit/ |
H A D | iothread.c | 22 struct IOThread { struct 33 static void iothread_init_gcontext(IOThread *iothread) in iothread_init_gcontext() argument 46 IOThread *iothread = opaque; in iothread_run() 81 IOThread *iothread = opaque; in iothread_stop_bh() 86 void iothread_join(IOThread *iothread) in iothread_join() 98 IOThread *iothread_new(void) in iothread_new() 100 IOThread *iothread = g_new0(IOThread, 1); in iothread_new() 117 AioContext *iothread_get_aio_context(IOThread *iothread) in iothread_get_aio_context()
|
H A D | iothread.h | 19 typedef struct IOThread IOThread; typedef 21 IOThread *iothread_new(void); 22 void iothread_join(IOThread *iothread); 23 AioContext *iothread_get_aio_context(IOThread *iothread);
|
H A D | test-block-iothread.c | 468 IOThread *iothread = iothread_new(); in test_sync_op() 551 IOThread *iothread = iothread_new(); in test_attach_blockjob() 614 IOThread *iothread = iothread_new(); in test_propagate_basic() 678 IOThread *iothread = iothread_new(); in test_propagate_diamond() 743 IOThread *iothread = iothread_new(); in test_propagate_mirror() 814 IOThread *iothread = iothread_new(); in test_attach_second_node() 847 IOThread *iothread = iothread_new(); in test_attach_preserve_blk_ctx()
|
H A D | test-bdrv-drain.c | 534 IOThread *a = iothread_new(); in test_iothread_common() 535 IOThread *b = iothread_new(); in test_iothread_common() 724 IOThread *iothread = NULL; in test_blockjob_common_drain_node() 1389 IOThread *a = iothread_new(); in test_set_aio_context() 1390 IOThread *b = iothread_new(); in test_set_aio_context()
|
H A D | test-aio-multithread.c | 24 static IOThread *threads[NUM_CONTEXTS];
|
/openbmc/qemu/docs/devel/ |
H A D | multiple-iothreads.txt | 7 This document explains the IOThread feature and how to write code that runs 21 Side note: The main loop and IOThread are both event loops but their code is 48 IOThread is dealing explicitly with the event loop object, AioContext 68 runs in an IOThread. They might cause a crash or deadlock if called from an 69 IOThread since the BQL is not held. 84 The AioContext can be obtained from the IOThread using 89 How to synchronize with an IOThread 96 activity in an IOThread. 114 Block layer code must therefore expect to run in an IOThread and avoid using 120 in an IOThread, the IOThread can also process requests from the guest
|
/openbmc/qemu/tests/qemu-iotests/ |
H A D | 202.out | 2 Adding IOThread...
|
/openbmc/qemu/hw/block/dataplane/ |
H A D | xen-block.h | 20 IOThread *iothread);
|
H A D | xen-block.c | 66 IOThread *iothread; 612 IOThread *iothread) in xen_block_dataplane_create()
|
/openbmc/qemu/include/hw/virtio/ |
H A D | virtio-balloon.h | 54 IOThread *iothread;
|
H A D | virtio-blk.h | 40 IOThread *iothread;
|
H A D | virtio-scsi.h | 62 IOThread *iothread;
|
/openbmc/qemu/include/hw/xen/ |
H A D | xen-block.h | 38 IOThread *iothread;
|
/openbmc/qemu/monitor/ |
H A D | monitor-internal.h | 165 extern IOThread *mon_iothread;
|
H A D | monitor.c | 54 IOThread *mon_iothread;
|
/openbmc/qemu/qapi/ |
H A D | virtio.json | 950 # Describes the subset of virtqueues assigned to an IOThread. 952 # @iothread: the id of IOThread object 955 # this IOThread. When absent, virtqueues are assigned round-robin
|
/openbmc/qemu/block/export/ |
H A D | export.c | 119 IOThread *iothread; in blk_exp_add()
|
/openbmc/qemu/hw/block/ |
H A D | virtio-blk.c | 1515 IOThread *iothread = iothread_by_id(node->value->iothread); in apply_iothread_vq_mapping() 1621 IOThread *iothread = iothread_by_id(node->value->iothread); in virtio_blk_vq_aio_context_cleanup() 2002 IOThread *),
|
H A D | xen-block.c | 676 TYPE_IOTHREAD, IOThread *),
|
/openbmc/qemu/hw/virtio/ |
H A D | virtio-balloon.c | 1020 IOThread *),
|
/openbmc/qemu/net/ |
H A D | colo-compare.c | 132 IOThread *iothread;
|
/openbmc/qemu/hw/scsi/ |
H A D | virtio-scsi.c | 1305 TYPE_IOTHREAD, IOThread *),
|