mirror of
https://github.com/izzy2lost/xemu.git
synced 2026-07-06 00:20:22 -07:00
Merge remote-tracking branch 'remotes/stefanha/tags/block-pull-request' into staging
# gpg: Signature made Fri 03 Feb 2017 14:37:45 GMT # gpg: using RSA key 0x9CA4ABB381AB73C8 # gpg: Good signature from "Stefan Hajnoczi <stefanha@redhat.com>" # gpg: aka "Stefan Hajnoczi <stefanha@gmail.com>" # Primary key fingerprint: 8695 A8BF D3F9 7CDA AC35 775A 9CA4 ABB3 81AB 73C8 * remotes/stefanha/tags/block-pull-request: iothread: enable AioContext polling by default Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
+14
@@ -30,6 +30,12 @@ typedef ObjectClass IOThreadClass;
|
||||
#define IOTHREAD_CLASS(klass) \
|
||||
OBJECT_CLASS_CHECK(IOThreadClass, klass, TYPE_IOTHREAD)
|
||||
|
||||
/* Benchmark results from 2016 on NVMe SSD drives show max polling times around
|
||||
* 16-32 microseconds yield IOPS improvements for both iodepth=1 and iodepth=32
|
||||
* workloads.
|
||||
*/
|
||||
#define IOTHREAD_POLL_MAX_NS_DEFAULT 32768ULL
|
||||
|
||||
static __thread IOThread *my_iothread;
|
||||
|
||||
AioContext *qemu_get_current_aio_context(void)
|
||||
@@ -71,6 +77,13 @@ static int iothread_stop(Object *object, void *opaque)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void iothread_instance_init(Object *obj)
|
||||
{
|
||||
IOThread *iothread = IOTHREAD(obj);
|
||||
|
||||
iothread->poll_max_ns = IOTHREAD_POLL_MAX_NS_DEFAULT;
|
||||
}
|
||||
|
||||
static void iothread_instance_finalize(Object *obj)
|
||||
{
|
||||
IOThread *iothread = IOTHREAD(obj);
|
||||
@@ -215,6 +228,7 @@ static const TypeInfo iothread_info = {
|
||||
.parent = TYPE_OBJECT,
|
||||
.class_init = iothread_class_init,
|
||||
.instance_size = sizeof(IOThread),
|
||||
.instance_init = iothread_instance_init,
|
||||
.instance_finalize = iothread_instance_finalize,
|
||||
.interfaces = (InterfaceInfo[]) {
|
||||
{TYPE_USER_CREATABLE},
|
||||
|
||||
Reference in New Issue
Block a user