qemu-devel
[Top][All Lists]
Advanced

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

Re: [RFC v3 3/4] cpu-timers, icount: new modules


From: Claudio Fontana
Subject: Re: [RFC v3 3/4] cpu-timers, icount: new modules
Date: Mon, 25 May 2020 17:43:58 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.4.1

On 5/25/20 5:16 PM, Philippe Mathieu-Daudé wrote:
> On 5/25/20 4:54 PM, Claudio Fontana wrote:
>> refactoring of cpus.c continues with cpu timer state extraction.
>>
>> cpu-timers: responsible for the cpu timers state, and for access to
>> cpu clocks and ticks.
>>
>> icount: counts the TCG instructions executed. As such it is specific to
>> the TCG accelerator. Therefore, it is built only under CONFIG_TCG.
>>
>> One complication is due to qtest, which misuses icount to warp time
>> (qtest_clock_warp). In order to solve this problem, detach instead qtest
>> from icount, and use a trivial separate counter for it.
>>
>> This requires fixing assumptions scattered in the code that
>> qtest_enabled() implies icount_enabled().
>>
>> No functionality change.
>>
>> Signed-off-by: Claudio Fontana <address@hidden>
>> ---
>>  accel/qtest.c                |   6 +-
>>  accel/tcg/cpu-exec.c         |  43 ++-
>>  accel/tcg/tcg-all.c          |   7 +-
>>  accel/tcg/translate-all.c    |   3 +-
>>  docs/replay.txt              |   6 +-
>>  exec.c                       |   4 -
>>  hw/core/ptimer.c             |   6 +-
>>  hw/i386/x86.c                |   1 +
>>  include/exec/cpu-all.h       |   4 +
>>  include/exec/exec-all.h      |   4 +-
>>  include/qemu/timer.h         |  22 +-
>>  include/sysemu/cpu-timers.h  |  72 +++++
>>  include/sysemu/cpus.h        |  12 +-
>>  include/sysemu/qtest.h       |   2 +
>>  include/sysemu/replay.h      |   4 +-
>>  replay/replay.c              |   6 +-
>>  softmmu/Makefile.objs        |   2 +
>>  softmmu/cpu-timers.c         | 267 ++++++++++++++++
>>  softmmu/cpus.c               | 731 
>> +------------------------------------------
>>  softmmu/icount.c             | 496 +++++++++++++++++++++++++++++
>>  softmmu/qtest.c              |  34 +-
>>  softmmu/timers-state.h       |  45 +++
>>  softmmu/vl.c                 |   8 +-
>>  stubs/Makefile.objs          |   3 +-
>>  stubs/clock-warp.c           |   4 +-
>>  stubs/cpu-get-clock.c        |   3 +-
>>  stubs/cpu-get-icount.c       |  21 --
>>  stubs/icount.c               |  22 ++
>>  stubs/qemu-timer-notify-cb.c |   8 +
>>  stubs/qtest.c                |   5 +
>>  target/alpha/translate.c     |   3 +-
>>  target/arm/helper.c          |   7 +-
>>  target/riscv/csr.c           |   8 +-
>>  tests/ptimer-test-stubs.c    |   7 +-
>>  tests/test-timed-average.c   |   2 +-
>>  util/main-loop.c             |   4 +-
>>  util/qemu-timer.c            |  12 +-
>>  37 files changed, 1062 insertions(+), 832 deletions(-)
>>  create mode 100644 include/sysemu/cpu-timers.h
>>  create mode 100644 softmmu/cpu-timers.c
>>  create mode 100644 softmmu/icount.c
>>  create mode 100644 softmmu/timers-state.h
>>  delete mode 100644 stubs/cpu-get-icount.c
>>  create mode 100644 stubs/icount.c
>>  create mode 100644 stubs/qemu-timer-notify-cb.c
> 
> Similarly I'd rather see this patch comes before your current #1 "move
> softmmu only files from root". Anyway wait for other reviewers before
> spending time to reorder the series.
> 
> 

I understand the desire to avoid moving cpus code back and forth,
will then wait for other comments as you suggest.

Ciao and thanks,

Claudio




reply via email to

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