[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2] posix-aio-compat: fix latency issues
From: |
Kevin Wolf |
Subject: |
Re: [Qemu-devel] [PATCH v2] posix-aio-compat: fix latency issues |
Date: |
Mon, 22 Aug 2011 19:22:06 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:5.0) Gecko/20110707 Thunderbird/5.0 |
Am 14.08.2011 06:04, schrieb Avi Kivity:
> In certain circumstances, posix-aio-compat can incur a lot of latency:
> - threads are created by vcpu threads, so if vcpu affinity is set,
> aio threads inherit vcpu affinity. This can cause many aio threads
> to compete for one cpu.
> - we can create up to max_threads (64) aio threads in one go; since a
> pthread_create can take around 30μs, we have up to 2ms of cpu time
> under a global lock.
>
> Fix by:
> - moving thread creation to the main thread, so we inherit the main
> thread's affinity instead of the vcpu thread's affinity.
> - if a thread is currently being created, and we need to create yet
> another thread, let thread being born create the new thread, reducing
> the amount of time we spend under the main thread.
> - drop the local lock while creating a thread (we may still hold the
> global mutex, though)
>
> Note this doesn't eliminate latency completely; scheduler artifacts or
> lack of host cpu resources can still cause it. We may want pre-allocated
> threads when this cannot be tolerated.
>
> Thanks to Uli Obergfell of Red Hat for his excellent analysis and suggestions.
>
> Signed-off-by: Avi Kivity <address@hidden>
> ---
> v2: simplify do_spawn_thread() locking
Thanks, applied to the block branch.
Kevin
- [Qemu-devel] [PATCH v2] posix-aio-compat: fix latency issues, Avi Kivity, 2011/08/14
- Re: [Qemu-devel] [PATCH v2] posix-aio-compat: fix latency issues,
Kevin Wolf <=
- Re: [Qemu-devel] [PATCH v2] posix-aio-compat: fix latency issues, Jan Kiszka, 2011/08/22
- Re: [Qemu-devel] [PATCH v2] posix-aio-compat: fix latency issues, Stefan Hajnoczi, 2011/08/23
- Re: [Qemu-devel] [PATCH v2] posix-aio-compat: fix latency issues, Anthony Liguori, 2011/08/23
- Re: [Qemu-devel] [PATCH v2] posix-aio-compat: fix latency issues, Jan Kiszka, 2011/08/23
- Re: [Qemu-devel] [PATCH v2] posix-aio-compat: fix latency issues, Anthony Liguori, 2011/08/23
- Re: [Qemu-devel] [PATCH v2] posix-aio-compat: fix latency issues, Jan Kiszka, 2011/08/23
- Re: [Qemu-devel] [PATCH v2] posix-aio-compat: fix latency issues, Avi Kivity, 2011/08/28