changeset 13901:8de47e31a5b1

3396 new psrinfo does not print socket type Reviewed by: Alek Pinchuk <alek.pinchuk@nexenta.com> Reviewed by: Yuri Pankov <yuri.pankov@gmail.com> Reviewed by: Albert Lee <trisk@nexenta.com> Reviewed by: Garrett D'Amore <garrett@damore.org> Approved by: Richard Lowe <richlowe@richlowe.net>
author Hans Rosenfeld <hans.rosenfeld@nexenta.com>
date Sun, 09 Dec 2012 20:12:10 -0500
parents 660fc1013b42
children 953a602a9b70
files usr/src/cmd/psrinfo/psrinfo.c
diffstat 1 files changed, 11 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/usr/src/cmd/psrinfo/psrinfo.c	Thu Dec 06 16:29:54 2012 -0800
+++ b/usr/src/cmd/psrinfo/psrinfo.c	Sun Dec 09 20:12:10 2012 -0500
@@ -11,6 +11,7 @@
 
 /*
  * Copyright (c) 2012 DEY Storage Systems, Inc.  All rights reserved.
+ * Copyright 2012 Nexenta Systems, Inc.  All rights reserved.
  */
 
 /*
@@ -97,6 +98,7 @@
 	long		v_pchip_id;	/* 1 per socket */
 	char		*v_impl;
 	char		*v_brand;
+	char		*v_socket;
 	long		v_core_id;	/* n per chip_id */
 };
 
@@ -268,6 +270,9 @@
 			if (((len = strlen(vcpu->v_brand)) != 0) &&
 			    (strncmp(vcpu->v_brand, vcpu->v_impl, len) != 0))
 				(void) printf("\t%s", vcpu->v_brand);
+			if (strcmp(vcpu->v_socket, "Unknown") != 0)
+				(void) printf("\t[ %s: %s ]", _("Socket"),
+				    vcpu->v_socket);
 			(void) putchar('\n');
 		} else {
 			for (l2 = chip->p_cores; l2; l2 = l2->l_next) {
@@ -507,6 +512,12 @@
 			vc->v_brand = mystrdup(knp->value.str.addr.ptr);
 		}
 
+		if ((knp = kstat_data_lookup(ksp, "socket_type")) == NULL) {
+			vc->v_socket = "Unknown";
+		} else {
+			vc->v_socket = mystrdup(knp->value.str.addr.ptr);
+		}
+
 		if ((knp = kstat_data_lookup(ksp, "implementation")) == NULL) {
 			vc->v_impl = _("(unknown)");
 		} else {