From: Dongli Zhang <dongli.zhang@oracle.com>
To: xen-devel@lists.xen.org
Cc: wei.liu2@citrix.com, ian.jackson@eu.citrix.com
Subject: [PATCH 2/2] tools: utility to dump guest grant table info
Date: Fri, 30 Jun 2017 15:21:31 +0800 [thread overview]
Message-ID: <1498807291-3356-2-git-send-email-dongli.zhang@oracle.com> (raw)
In-Reply-To: <1498807291-3356-1-git-send-email-dongli.zhang@oracle.com>
As both xen-netfront and xen-blkfront support multi-queue, they would
consume a lot of grant table references when there are many paravirtual
devices and vcpus assigned to guest. Guest domU might panic or hang due to
grant allocation failure when nr_grant_frames in guest has reached its max
value.
This utility would help the administrators to monitor the guest grant table
frame usage on dom0 side so that it is not required to debug on guest
kernel side for crash/hang analysis anymore.
Signed-off-by: Dongli Zhang <dongli.zhang@oracle.com>
---
tools/misc/Makefile | 4 ++++
tools/misc/xen-gnttab-query.c | 45 +++++++++++++++++++++++++++++++++++++++++++
2 files changed, 49 insertions(+)
create mode 100644 tools/misc/xen-gnttab-query.c
diff --git a/tools/misc/Makefile b/tools/misc/Makefile
index 8152f7b..d081b4b 100644
--- a/tools/misc/Makefile
+++ b/tools/misc/Makefile
@@ -31,6 +31,7 @@ INSTALL_SBIN += xenperf
INSTALL_SBIN += xenpm
INSTALL_SBIN += xenwatchdogd
INSTALL_SBIN += xen-livepatch
+INSTALL_SBIN += xen-gnttab-query
INSTALL_SBIN += $(INSTALL_SBIN-y)
# Everything to be installed in a private bin/
@@ -108,4 +109,7 @@ xen-lowmemd: xen-lowmemd.o
xencov: xencov.o
$(CC) $(LDFLAGS) -o $@ $< $(LDLIBS_libxenctrl) $(APPEND_LDFLAGS)
+xen-gnttab-query: xen-gnttab-query.o
+ $(CC) $(LDFLAGS) -o $@ $< $(LDLIBS_libxenctrl) $(APPEND_LDFLAGS)
+
-include $(DEPS)
diff --git a/tools/misc/xen-gnttab-query.c b/tools/misc/xen-gnttab-query.c
new file mode 100644
index 0000000..3f93a6c
--- /dev/null
+++ b/tools/misc/xen-gnttab-query.c
@@ -0,0 +1,45 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <err.h>
+#include <xenctrl.h>
+
+void show_help(void)
+{
+ fprintf(stderr,
+ "xen-gnttab-query: query grant table info\n"
+ "Usage: xen-gnttab-query [domid (default 0)]\n");
+}
+
+int main(int argc, char *argv[])
+{
+ xc_interface *xch;
+ int domid, rc, c;
+ struct gnttab_query_size query;
+
+ while ( (c = getopt(argc, argv, "h")) != -1 )
+ {
+ switch ( c )
+ {
+ case 'h':
+ show_help();
+ return 0;
+ }
+ }
+
+ domid = (argc > 1) ? strtol(argv[1], NULL, 10) : 0;
+
+ xch = xc_interface_open(0, 0, 0);
+ if ( !xch )
+ errx(1, "failed to open control interface");
+
+ query.dom = domid;
+ rc = xc_gnttab_query_size(xch, &query);
+
+ if ( rc == 0 && (query.status == GNTST_okay) )
+ printf("domid=%d: nr_frames=%d, max_nr_frames=%d\n",
+ query.dom, query.nr_frames, query.max_nr_frames);
+
+ xc_interface_close(xch);
+
+ return 0;
+}
--
2.7.4
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel
next prev parent reply other threads:[~2017-06-30 7:21 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-06-30 7:21 [PATCH 1/2] tools/libxc: add interface for GNTTABOP_query_size Dongli Zhang
2017-06-30 7:21 ` Dongli Zhang [this message]
2017-06-30 14:07 ` [PATCH 2/2] tools: utility to dump guest grant table info Wei Liu
2017-06-30 16:25 ` Konrad Rzeszutek Wilk
2017-06-30 13:57 ` [PATCH 1/2] tools/libxc: add interface for GNTTABOP_query_size Wei Liu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1498807291-3356-2-git-send-email-dongli.zhang@oracle.com \
--to=dongli.zhang@oracle.com \
--cc=ian.jackson@eu.citrix.com \
--cc=wei.liu2@citrix.com \
--cc=xen-devel@lists.xen.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).