[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [RFC PATCH 2/2] gitlab-ci: Add a job building TCI with Clang
From: |
Alex Bennée |
Subject: |
Re: [RFC PATCH 2/2] gitlab-ci: Add a job building TCI with Clang |
Date: |
Tue, 26 Jan 2021 17:08:30 +0000 |
User-agent: |
mu4e 1.5.7; emacs 28.0.50 |
Stefan Weil <sw@weilnetz.de> writes:
> Am 23.01.21 um 09:59 schrieb Wataru Ashihara:
>
>> Actually I use TCI also on macOS. Like the use case quoted by Philippe,
>> there're even other reasons to use TCI:
>>
>> 1. Learning TCG ops.
>> 2. Debugging QEMU with gdb. e.g. diagnose codegen or stepping into
>> helper functions from tci.c:tcg_qemu_tb_exec().
>> 3. Guest instruction tracing. TCI is faster than TCG or KVM when tracing
>> the guest ops [1]. I guess qira is using TCI for this reason [2].
>>
>> [1]: https://twitter.com/wata_ash/status/1352899988032942080
>> [2]: https://github.com/geohot/qira/blob/v1.3/tracers/qemu_build.sh#L55
>
>
> Yes, TCI can help a lot for debugging, especially also when porting TCG
> to a new host architecture.
>
> If we had binaries which can switch from native to interpreted TCG, it
> could also be a reference implementation used for unit tests, comparing
> the results for each TCG opcode.
>
> Using TCI with profiling like gprof is useful to count the frequency of
> the different TCG opcodes in practical scenarios and can be used to
> detect bottlenecks (and less frequent or unused opcodes) for native TCG,
> too.
FWIW I had a bunch of JIT profiling changes that exposed the TCG op
counts via the JIT profiler. I think I even enabled the op counting by
default because it was fairly lightweight to add.
IOW I think more introspection can be brought into the core TCG code
rather than relying on TCI to achieve it.
--
Alex Bennée
- Re: [RFC PATCH 2/2] gitlab-ci: Add a job building TCI with Clang, (continued)
- Re: [RFC PATCH 2/2] gitlab-ci: Add a job building TCI with Clang, Thomas Huth, 2021/01/21
- Re: [RFC PATCH 2/2] gitlab-ci: Add a job building TCI with Clang, Daniel P . Berrangé, 2021/01/21
- Re: [RFC PATCH 2/2] gitlab-ci: Add a job building TCI with Clang, Philippe Mathieu-Daudé, 2021/01/21
- Re: [RFC PATCH 2/2] gitlab-ci: Add a job building TCI with Clang, Daniel P . Berrangé, 2021/01/21
- Re: [RFC PATCH 2/2] gitlab-ci: Add a job building TCI with Clang, Philippe Mathieu-Daudé, 2021/01/21
- Re: [RFC PATCH 2/2] gitlab-ci: Add a job building TCI with Clang, Daniel P . Berrangé, 2021/01/21
- Re: [RFC PATCH 2/2] gitlab-ci: Add a job building TCI with Clang, Philippe Mathieu-Daudé, 2021/01/21
- Re: Re: [RFC PATCH 2/2] gitlab-ci: Add a job building TCI with Clang, Wataru Ashihara, 2021/01/23
- Re: [RFC PATCH 2/2] gitlab-ci: Add a job building TCI with Clang, Stefan Weil, 2021/01/23
- Re: [RFC PATCH 2/2] gitlab-ci: Add a job building TCI with Clang, Philippe Mathieu-Daudé, 2021/01/23
- Re: [RFC PATCH 2/2] gitlab-ci: Add a job building TCI with Clang,
Alex Bennée <=
- Re: [RFC PATCH 2/2] gitlab-ci: Add a job building TCI with Clang, Alex Bennée, 2021/01/26
- Re: [RFC PATCH 2/2] gitlab-ci: Add a job building TCI with Clang, Wainer dos Santos Moschetta, 2021/01/21
- Re: [RFC PATCH 2/2] gitlab-ci: Add a job building TCI with Clang, Daniel P . Berrangé, 2021/01/21
- Re: [RFC PATCH 2/2] gitlab-ci: Add a job building TCI with Clang, Thomas Huth, 2021/01/21
- Re: [RFC PATCH 2/2] gitlab-ci: Add a job building TCI with Clang, Wainer dos Santos Moschetta, 2021/01/21
- Re: [RFC PATCH 2/2] gitlab-ci: Add a job building TCI with Clang, Thomas Huth, 2021/01/22
- Re: [RFC PATCH 2/2] gitlab-ci: Add a job building TCI with Clang, Wainer dos Santos Moschetta, 2021/01/26