# HG changeset patch # User Hans Rosenfeld # Date 1355101930 18000 # Node ID 8de47e31a5b1dcd62eaeccc4fd27c6985f4c2458 # Parent 660fc1013b42c3d8b66508a4ef4587b4541d36fc 3396 new psrinfo does not print socket type Reviewed by: Alek Pinchuk Reviewed by: Yuri Pankov Reviewed by: Albert Lee Reviewed by: Garrett D'Amore Approved by: Richard Lowe diff -r 660fc1013b42 -r 8de47e31a5b1 usr/src/cmd/psrinfo/psrinfo.c --- 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 {