|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH 07/12] tools/xenstore: add accounting trace support
Add a new trace switch "acc" and the related trace calls.
The "acc" switch is off per default.
Signed-off-by: Juergen Gross <jgross@xxxxxxxx>
---
tools/xenstore/xenstored_core.c | 2 +-
tools/xenstore/xenstored_core.h | 1 +
tools/xenstore/xenstored_domain.c | 10 ++++++++++
3 files changed, 12 insertions(+), 1 deletion(-)
diff --git a/tools/xenstore/xenstored_core.c b/tools/xenstore/xenstored_core.c
index 7bd83a0eaf..be3c2aba77 100644
--- a/tools/xenstore/xenstored_core.c
+++ b/tools/xenstore/xenstored_core.c
@@ -2737,7 +2737,7 @@ static void set_quota(const char *arg, bool soft)
/* Sorted by bit values of TRACE_* flags. Flag is (1u << index). */
const char *trace_switches[] = {
- "obj", "io", "wrl",
+ "obj", "io", "wrl", "acc",
NULL
};
diff --git a/tools/xenstore/xenstored_core.h b/tools/xenstore/xenstored_core.h
index 8223a49354..e17bd4c268 100644
--- a/tools/xenstore/xenstored_core.h
+++ b/tools/xenstore/xenstored_core.h
@@ -294,6 +294,7 @@ extern unsigned int trace_flags;
#define TRACE_OBJ 0x00000001
#define TRACE_IO 0x00000002
#define TRACE_WRL 0x00000004
+#define TRACE_ACC 0x00000008
extern const char *trace_switches[];
int set_trace_switch(const char *arg);
diff --git a/tools/xenstore/xenstored_domain.c
b/tools/xenstore/xenstored_domain.c
index cb2a78b597..2420fbff31 100644
--- a/tools/xenstore/xenstored_domain.c
+++ b/tools/xenstore/xenstored_domain.c
@@ -546,6 +546,12 @@ static struct domain *find_domain_by_domid(unsigned int
domid)
return (d && d->introduced) ? d : NULL;
}
+#define trace_acc(...) \
+do { \
+ if (trace_flags & TRACE_ACC) \
+ trace("acc: " __VA_ARGS__); \
+} while (0)
+
int acc_fix_domains(struct list_head *head, bool update)
{
struct changed_domain *cd;
@@ -609,6 +615,8 @@ static int acc_add_changed_dom(const void *ctx, struct
list_head *head,
return 0;
errno = 0;
+ trace_acc("local change domid %u: what=%u %d add %d\n", domid, what,
+ cd->acc[what], val);
cd->acc[what] += val;
return cd->acc[what];
@@ -1111,6 +1119,8 @@ static int domain_acc_add(struct connection *conn,
unsigned int domid,
return domain_acc_add_chk(d, what, ret, domid);
}
+ trace_acc("global change domid %u: what=%u %u add %d\n", domid, what,
+ d->acc[what], add);
d->acc[what] = domain_acc_add_chk(d, what, add, domid);
return d->acc[what];
--
2.35.3
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |