[RFC,0/9] Changes to time accounting
mbox series

Message ID 1568197942-15374-1-git-send-email-andrii.anisov@gmail.com
Headers show
  • Changes to time accounting
Related show


Andrii Anisov Sept. 11, 2019, 10:32 a.m. UTC
From: Andrii Anisov <andrii_anisov@epam.com>

That is the second attempt of the changes for the time accounting in XEN.
The initial topic is here [1].

In this series it is introduced a time accounting infrastructure separated
from runstates, and made an attempt to use new infra solely for taking 
scheduling decissions.
This series still employs ideas of the initial series about what hypervisor,
idle and guest time are.

Yet, this series lacks of connection between new time accounting infra and
runstate. This is TODO, currently.

The main goal of this work is to improve time accounting precission as well
as avoiding charging guests for the other entities (guests or hypervisor itself)

Changes from:

Initial RFC series [1]:
    - Time accounting made independent from runstates infrastructure.
    - Dropped odd patches to ARM64 code.

[1] https://lists.xenproject.org/archives/html/xen-devel/2019-07/msg01839.html

Andrii Anisov (9):
  schedule: Introduce per-pcpu time accounting
  sysctl: extend XEN_SYSCTL_getcpuinfo interface
  xentop: show CPU load information
  arm64: utilize time accounting
  tacc: Introduce a lockless interface for guest time
  sched:rtds: get guest time from time accounting code
  tacc: Introduce a locked interface for guest time
  sched:credit: get guest time from time accounting code
  sched:credit2: get guest time from time accounting code

 tools/xenstat/libxenstat/src/xenstat.c      |  50 +++++++++
 tools/xenstat/libxenstat/src/xenstat.h      |  15 +++
 tools/xenstat/libxenstat/src/xenstat_priv.h |   5 +
 tools/xenstat/xentop/xentop.c               |  36 ++++++
 xen/arch/arm/arm64/entry.S                  |  39 ++++++-
 xen/arch/arm/domain.c                       |   2 +
 xen/common/Kconfig                          |   5 +
 xen/common/sched_credit.c                   |  12 +-
 xen/common/sched_credit2.c                  |  17 +--
 xen/common/sched_rt.c                       |   4 +-
 xen/common/schedule.c                       | 168 +++++++++++++++++++++++++++-
 xen/common/sysctl.c                         |   4 +
 xen/include/public/sysctl.h                 |   4 +
 xen/include/xen/sched.h                     |  50 +++++++++
 14 files changed, 386 insertions(+), 25 deletions(-)