LWN.net Logo

Virtual Machine time accounting

From:  Laurent Vivier <Laurent.Vivier@bull.net>
To:  kvm-devel@lists.sourceforge.net
Subject:  [PATCH/RFC 0/4]Virtual Machine time accounting
Date:  Thu, 16 Aug 2007 17:57:32 +0200
Message-ID:  <46C473EC.8000309@bull.net>
Cc:  Ingo Molnar <mingo@elte.hu>, Rusty Russell <rusty@rustcorp.com.au>, virtualization <virtualization@lists.linux-foundation.org>, linux-kernel <linux-kernel@vger.kernel.org>

The aim of these four patches is to introduce Virtual Machine time accounting.

[PATCH 1/4] as modern CPUs introduce a third running state, after "user" and
"system", we need a new field, "guest", in cpustat to store the time used by
the CPU to run virtual CPU. Modify /proc/stat to display this new field.

[PATCH 2/4] like for cpustat, introduce the "guest" and "cguest" fields for the
tasks. Modify signal_struct and task_struct. Modify /proc/<pid>/stat to display
these new field

[PATCH 3/3] introduce "account modifiers" mechanism in the kernel allowing a
module to modify the collected accounting for a given task. This implementation
is based on the "preempt_notifier". "account_system_time()" and
"account_user_time()" can call functions registered by a module to modify the
cputime value.

[PATCH 4/4] Modify KVM to use the "account modifiers". KVM can now measure time
consumed by a Virtual Machine on a per-cpu basis and modify kernel statistics to
report this value.

Signed-off-by: Laurent Vivier <Laurent.Vivier@bull.net>
-- 
------------- Laurent.Vivier@bull.net  --------------
          "Software is hard" - Donald Knuth

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Copyright © 2007, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds