[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v2 06/12] accel/tcg: better handle memory constrained systems
From: |
Alex Bennée |
Subject: |
Re: [PATCH v2 06/12] accel/tcg: better handle memory constrained systems |
Date: |
Thu, 23 Jul 2020 10:22:25 +0100 |
User-agent: |
mu4e 1.5.5; emacs 28.0.50 |
Daniel P. Berrangé <berrange@redhat.com> writes:
> On Wed, Jul 22, 2020 at 12:02:59PM -0700, Richard Henderson wrote:
>> On 7/22/20 9:44 AM, Daniel P. Berrangé wrote:
>> > OpenStack uses TCG in alot of their CI infrastructure for example
>> > and runs multiple VMs. If there's 4 VMs, that's another 4 GB of
>> > RAM usage just silently added on top of the explicit -m value.
>> >
>> > I wouldn't be surprised if this pushes CI into OOM, even without
>> > containers or cgroups being involved, as they have plenty of other
>> > services consuming RAM in the CI VMs.
>>
>> I would hope that CI would also supply a -tb_size to go along with that -m
>> value. Because we really can't guess on their behalf.
>
> I've never even seen mention of -tb_size argument before myself, nor
> seen anyone else using it and libvirt doesn't set it, so I think
> this is not a valid assumption.
>
>
>> > The commit 600e17b261555c56a048781b8dd5ba3985650013 talks about this
>> > minimizing codegen cache flushes, but doesn't mention the real world
>> > performance impact of eliminating those flushes ?
>>
>> Somewhere on the mailing list was this info. It was so dreadfully slow it
>> was
>> *really* noticable. Timeouts everywhere.
>>
>> > Presumably this makes the guest OS boot faster, but what's the before
>> > and after time ? And what's the time like for values in between the
>> > original 32mb and the new 1 GB ?
>>
>> But it wasn't "the original 32MB".
>> It was the original "ram_size / 4", until that broke due to argument parsing
>> ordering.
>
> Hmm, 600e17b261555c56a048781b8dd5ba3985650013 says it was 32 MB as the
> default in its commit message, which seems to match the code doing
>
> #define DEFAULT_CODE_GEN_BUFFER_SIZE_1 (32 * MiB)
You need to look earlier in the sequence (see the tag pull-tcg-20200228):
47a2def4533a2807e48954abd50b32ecb1aaf29a
so when the argument ordering broke the guest ram_size heuristic we
started getting reports of performance regressions because we fell back
to that size. Before then it was always based on guest ram size within
the min/max bounds set by those defines.
>> I don't know what CI usually uses, but I usually use at least -m 4G,
>> sometimes
>> more. What's the libvirt default?
>
> There's no default memory size - its up to whomever/whatever creates the
> VMs to choose how much RAM is given.
>
> Regards,
> Daniel
--
Alex Bennée
- [PATCH v2 02/12] semihosting: defer connect_chardevs a little more to use serialx, (continued)
- [PATCH v2 02/12] semihosting: defer connect_chardevs a little more to use serialx, Alex Bennée, 2020/07/22
- [PATCH v2 04/12] util: add qemu_get_host_physmem utility function, Alex Bennée, 2020/07/22
- [PATCH v2 03/12] semihosting: don't send the trailing '\0', Alex Bennée, 2020/07/22
- [PATCH v2 06/12] accel/tcg: better handle memory constrained systems, Alex Bennée, 2020/07/22
- Re: [PATCH v2 06/12] accel/tcg: better handle memory constrained systems, Richard Henderson, 2020/07/22
- Re: [PATCH v2 06/12] accel/tcg: better handle memory constrained systems, Alex Bennée, 2020/07/22
- Re: [PATCH v2 06/12] accel/tcg: better handle memory constrained systems, Daniel P . Berrangé, 2020/07/22
- Re: [PATCH v2 06/12] accel/tcg: better handle memory constrained systems, Richard Henderson, 2020/07/22
- Re: [PATCH v2 06/12] accel/tcg: better handle memory constrained systems, Daniel P . Berrangé, 2020/07/23
- Re: [PATCH v2 06/12] accel/tcg: better handle memory constrained systems,
Alex Bennée <=
- Re: [PATCH v2 06/12] accel/tcg: better handle memory constrained systems, Daniel P . Berrangé, 2020/07/23
- Re: [PATCH v2 06/12] accel/tcg: better handle memory constrained systems, Alex Bennée, 2020/07/23
[PATCH v2 05/12] util/oslib-win32: add qemu_get_host_physmem implementation, Alex Bennée, 2020/07/22
Re: [PATCH v2 05/12] util/oslib-win32: add qemu_get_host_physmem implementation, Yonggang Luo, 2020/07/22