qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH V9 7/7] coroutine: reduce stack size to 60kB


From: Eric Blake
Subject: Re: [Qemu-devel] [PATCH V9 7/7] coroutine: reduce stack size to 60kB
Date: Tue, 27 Sep 2016 10:50:23 -0500
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.3.0

On 09/27/2016 04:58 AM, Peter Lieven wrote:
> evaluation with the recently introduced maximum stack usage monitoring 
> revealed
> that the actual used stack size was never above 4kB so allocating 1MB stack
> for each coroutine is a lot of wasted memory. So reduce the stack size to
> 60kB which should still give enough head room. The guard page added
> in qemu_alloc_stack will catch a potential stack overflow introduced
> by this commit. The 60kB + guard page will result in an allocation of
> 64kB per coroutine on systems where a page is 4kB.
> 
> Signed-off-by: Peter Lieven <address@hidden>
> ---
>  include/qemu/coroutine_int.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/include/qemu/coroutine_int.h b/include/qemu/coroutine_int.h
> index 14d4f1d..be14260 100644
> --- a/include/qemu/coroutine_int.h
> +++ b/include/qemu/coroutine_int.h
> @@ -28,7 +28,7 @@
>  #include "qemu/queue.h"
>  #include "qemu/coroutine.h"
>  
> -#define COROUTINE_STACK_SIZE (1 << 20)
> +#define COROUTINE_STACK_SIZE 61440

Should work fine (I might have done 64k + guard page, but that's not
quite as nice of a round number where the guard page is only 4k).

Reviewed-by: Eric Blake <address@hidden>


-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]