Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 15 Mar 2013 22:24:34 +0000 (UTC)
From:      Alfred Perlstein <alfred@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org
Subject:   svn commit: r248356 - stable/9/usr.bin/netstat
Message-ID:  <201303152224.r2FMOYUQ093116@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: alfred
Date: Fri Mar 15 22:24:34 2013
New Revision: 248356
URL: http://svnweb.freebsd.org/changeset/base/248356

Log:
  MFC: 242030
  
  Show how many times we are blocked waiting for mbufs.

Modified:
  stable/9/usr.bin/netstat/mbuf.c
Directory Properties:
  stable/9/usr.bin/netstat/   (props changed)

Modified: stable/9/usr.bin/netstat/mbuf.c
==============================================================================
--- stable/9/usr.bin/netstat/mbuf.c	Fri Mar 15 22:20:45 2013	(r248355)
+++ stable/9/usr.bin/netstat/mbuf.c	Fri Mar 15 22:24:34 2013	(r248356)
@@ -67,16 +67,18 @@ mbpr(void *kvmd, u_long mbaddr)
 	struct memory_type_list *mtlp;
 	struct memory_type *mtp;
 	uintmax_t mbuf_count, mbuf_bytes, mbuf_free, mbuf_failures, mbuf_size;
+	uintmax_t mbuf_sleeps;
 	uintmax_t cluster_count, cluster_bytes, cluster_limit, cluster_free;
-	uintmax_t cluster_failures, cluster_size;
+	uintmax_t cluster_failures, cluster_size, cluster_sleeps;
 	uintmax_t packet_count, packet_bytes, packet_free, packet_failures;
+	uintmax_t packet_sleeps;
 	uintmax_t tag_count, tag_bytes;
 	uintmax_t jumbop_count, jumbop_bytes, jumbop_limit, jumbop_free;
-	uintmax_t jumbop_failures, jumbop_size;
+	uintmax_t jumbop_failures, jumbop_sleeps, jumbop_size;
 	uintmax_t jumbo9_count, jumbo9_bytes, jumbo9_limit, jumbo9_free;
-	uintmax_t jumbo9_failures, jumbo9_size;
+	uintmax_t jumbo9_failures, jumbo9_sleeps, jumbo9_size;
 	uintmax_t jumbo16_count, jumbo16_bytes, jumbo16_limit, jumbo16_free;
-	uintmax_t jumbo16_failures, jumbo16_size;
+	uintmax_t jumbo16_failures, jumbo16_sleeps, jumbo16_size;
 	uintmax_t bytes_inuse, bytes_incache, bytes_total;
 	int nsfbufs, nsfbufspeak, nsfbufsused;
 	struct mbstat mbstat;
@@ -121,6 +123,7 @@ mbpr(void *kvmd, u_long mbaddr)
 	mbuf_bytes = memstat_get_bytes(mtp);
 	mbuf_free = memstat_get_free(mtp);
 	mbuf_failures = memstat_get_failures(mtp);
+	mbuf_sleeps = memstat_get_sleeps(mtp);
 	mbuf_size = memstat_get_size(mtp);
 
 	mtp = memstat_mtl_find(mtlp, ALLOCATOR_UMA, MBUF_PACKET_MEM_NAME);
@@ -132,6 +135,7 @@ mbpr(void *kvmd, u_long mbaddr)
 	packet_count = memstat_get_count(mtp);
 	packet_bytes = memstat_get_bytes(mtp);
 	packet_free = memstat_get_free(mtp);
+	packet_sleeps = memstat_get_sleeps(mtp);
 	packet_failures = memstat_get_failures(mtp);
 
 	mtp = memstat_mtl_find(mtlp, ALLOCATOR_UMA, MBUF_CLUSTER_MEM_NAME);
@@ -145,6 +149,7 @@ mbpr(void *kvmd, u_long mbaddr)
 	cluster_limit = memstat_get_countlimit(mtp);
 	cluster_free = memstat_get_free(mtp);
 	cluster_failures = memstat_get_failures(mtp);
+	cluster_sleeps = memstat_get_sleeps(mtp);
 	cluster_size = memstat_get_size(mtp);
 
 	mtp = memstat_mtl_find(mtlp, ALLOCATOR_MALLOC, MBUF_TAG_MEM_NAME);
@@ -167,6 +172,7 @@ mbpr(void *kvmd, u_long mbaddr)
 	jumbop_limit = memstat_get_countlimit(mtp);
 	jumbop_free = memstat_get_free(mtp);
 	jumbop_failures = memstat_get_failures(mtp);
+	jumbop_sleeps = memstat_get_sleeps(mtp);
 	jumbop_size = memstat_get_size(mtp);
 
 	mtp = memstat_mtl_find(mtlp, ALLOCATOR_UMA, MBUF_JUMBO9_MEM_NAME);
@@ -180,6 +186,7 @@ mbpr(void *kvmd, u_long mbaddr)
 	jumbo9_limit = memstat_get_countlimit(mtp);
 	jumbo9_free = memstat_get_free(mtp);
 	jumbo9_failures = memstat_get_failures(mtp);
+	jumbo9_sleeps = memstat_get_sleeps(mtp);
 	jumbo9_size = memstat_get_size(mtp);
 
 	mtp = memstat_mtl_find(mtlp, ALLOCATOR_UMA, MBUF_JUMBO16_MEM_NAME);
@@ -193,6 +200,7 @@ mbpr(void *kvmd, u_long mbaddr)
 	jumbo16_limit = memstat_get_countlimit(mtp);
 	jumbo16_free = memstat_get_free(mtp);
 	jumbo16_failures = memstat_get_failures(mtp);
+	jumbo16_sleeps = memstat_get_sleeps(mtp);
 	jumbo16_size = memstat_get_size(mtp);
 
 	printf("%ju/%ju/%ju mbufs in use (current/cache/total)\n",
@@ -279,7 +287,13 @@ mbpr(void *kvmd, u_long mbaddr)
 	printf("%ju/%ju/%ju requests for mbufs denied (mbufs/clusters/"
 	    "mbuf+clusters)\n", mbuf_failures, cluster_failures,
 	    packet_failures);
-
+	printf("%ju/%ju/%ju requests for mbufs delayed (mbufs/clusters/"
+	    "mbuf+clusters)\n", mbuf_sleeps, cluster_sleeps,
+	    packet_sleeps);
+
+	printf("%ju/%ju/%ju requests for jumbo clusters delayed "
+	    "(%juk/9k/16k)\n", jumbop_sleeps, jumbo9_sleeps,
+	    jumbo16_sleeps, jumbop_size / 1024);
 	printf("%ju/%ju/%ju requests for jumbo clusters denied "
 	    "(%juk/9k/16k)\n", jumbop_failures, jumbo9_failures,
 	    jumbo16_failures, jumbop_size / 1024);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201303152224.r2FMOYUQ093116>