From nobody Sat Dec 23 04:33:52 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4SxrsD343Pz54xLy; Sat, 23 Dec 2023 04:33:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4SxrsD2Qk7z3Sd6; Sat, 23 Dec 2023 04:33:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1703306032; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EEyOVsCxxNIC37Peb6lRnfAKQcYrRt5G/xm7G/3OSlQ=; b=cJ6p7WAg+c5o70s70U4pxY/IxXZE9S3N5M43DBvCU5aZTtlB+6TkYepyPsVUcEEETrIELe q3p3We0l2xuO3+u/MaJuErnh+9IjCowak8X+zFS4HONbTNMU712sRgrOLcxdYf4LdCPZnt hXaQ5jZxFp+kAhO5m6qo1EyzB3JqKkZgV0rFXwjl87ho9xT7VHnJ7rMYCpOAPaEaFDpZ0M JjOW6F5NATpsUnv3jXQMzaYmqWmtbuMA7Y01OsxLyFCd+ff8DtkNslMk0mHuascEXwcvPZ 2nvfGzB10GvggpWwXKKAZnAL0UWr67ZeA4XL6PNdvSzISeUHth6/kugzzrDRyQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1703306032; a=rsa-sha256; cv=none; b=CZK58YW0yG5mpeSWwDEm4m8OOhcO5UjU2upvxs5KqV55emgmjoFYkkELFYnJdGJ+Tjm0Et X/Te2NjVQOv7JympSJdBG4+QgcbPDaNHhadFPwNkFRn9mj5czjLlf4ITfIHkKzgX7sOlsG OO3n2BRMRZeFFsmSbtOWSNXvrVwUxm00x+j4oylJRakvlKwW0HHCX8UHZICEbD+59F4Vs4 xMOk2jNycGjHOE3zgJNq+OUldM6ryNrtYBJP0f+d1JTAVC7UBqT86r+1aQIeLH4S9DG0gm DLjndsTX+VrV3IMM2G3NNx3/OWnfQIpKXHeGGA0Rvf1qQK5BAwriSo4n0Q8jtg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1703306032; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EEyOVsCxxNIC37Peb6lRnfAKQcYrRt5G/xm7G/3OSlQ=; b=jGhoNVoDpW1Qwmrl1VCGn9hn9XGEhg0C/y+JV+jX1pdIZdznXxAKs7fk/ZbwgLHiUzRpjz 539YjXGa5VOjuF4ciT3NwUhRSbt4ri9J+LicYByuiNSSVVK4mbnO83yHggoFCSz0xjUbDE YJmobtDtN1IT1kaLlLWqiYTXzhkbfAcqsxKx2O22H+9l2PziehJKjlKsmiw6iYqgjEfAse 5tyiNTrL6nskMotMRvbGA3zq1I25bUOYvfgkeugmk8j0CesJX/RRgs/JM/cCLHvuaUggUp HemGZ3Xenkz3HCiTx5xOzFytVj5mcNi474NJVAUgHTQnVYmeT1RpyEOo3ypvcQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4SxrsD1WC2zlrV; Sat, 23 Dec 2023 04:33:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3BN4XquC087718; Sat, 23 Dec 2023 04:33:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3BN4Xqcg087715; Sat, 23 Dec 2023 04:33:52 GMT (envelope-from git) Date: Sat, 23 Dec 2023 04:33:52 GMT Message-Id: <202312230433.3BN4Xqcg087715@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alexander Motin Subject: git: b65b88dc3af4 - stable/14 - vmstat: Make disks reporting some more reasonable List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mav X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: b65b88dc3af4282af18f04a8e2106bf98cf4c385 Auto-Submitted: auto-generated The branch stable/14 has been updated by mav: URL: https://cgit.FreeBSD.org/src/commit/?id=b65b88dc3af4282af18f04a8e2106bf98cf4c385 commit b65b88dc3af4282af18f04a8e2106bf98cf4c385 Author: Alexander Motin AuthorDate: 2023-11-16 03:56:51 +0000 Commit: Alexander Motin CommitDate: 2023-12-23 04:13:24 +0000 vmstat: Make disks reporting some more reasonable MFC after: 1 month (cherry picked from commit 7b21c447fb7b761f094c3c2ce2e6d6e2c91c285c) --- usr.bin/vmstat/vmstat.c | 34 ++++++++++++++++++++-------------- 1 file changed, 20 insertions(+), 14 deletions(-) diff --git a/usr.bin/vmstat/vmstat.c b/usr.bin/vmstat/vmstat.c index fd161a3f93ee..c4fb7186363f 100644 --- a/usr.bin/vmstat/vmstat.c +++ b/usr.bin/vmstat/vmstat.c @@ -221,12 +221,13 @@ main(int argc, char *argv[]) memf = nlistf = NULL; interval = reps = todo = 0; maxshowdevs = 2; - hflag = isatty(1); argc = xo_parse_args(argc, argv); if (argc < 0) return (argc); + hflag = (xo_get_style(NULL) == XO_STYLE_TEXT) && isatty(1); + while ((c = getopt(argc, argv, "ac:fhHiM:mN:n:oPp:sw:z")) != -1) { switch (c) { case 'a': @@ -818,28 +819,30 @@ dovmstat(unsigned int interval, int reps) rate(sum.v_tfree - osum.v_tfree), 5, 0); prthuman("scanned", rate(sum.v_pdpages - osum.v_pdpages), 5, 0); - xo_emit(" "); } else { xo_emit(" "); xo_emit("{:freed/%5lu} ", rate(sum.v_tfree - osum.v_tfree)); - xo_emit("{:scanned/%4lu} ", + xo_emit("{:scanned/%4lu}", rate(sum.v_pdpages - osum.v_pdpages)); } xo_close_container("paging-rates"); devstats(); xo_open_container("fault-rates"); - xo_emit("{:interrupts/%4lu}", rate(sum.v_intr - osum.v_intr)); if (hflag) { + prthuman("interrupts", + rate(sum.v_intr - osum.v_intr), 5, 0); prthuman("system-calls", rate(sum.v_syscall - osum.v_syscall), 5, 0); prthuman("context-switches", rate(sum.v_swtch - osum.v_swtch), 5, 0); } else { xo_emit(" "); - xo_emit("{:system-calls/%5lu} " + xo_emit("{:interrupts/%4lu} " + "{:system-calls/%5lu} " "{:context-switches/%5lu}", + rate(sum.v_intr - osum.v_intr), rate(sum.v_syscall - osum.v_syscall), rate(sum.v_swtch - osum.v_swtch)); } @@ -878,9 +881,9 @@ printhdr(int maxid, u_long cpumask) else xo_emit("{T:procs} {T:memory} {T:/page%*s}", 19, ""); if (num_shown > 1) - xo_emit(" {T:/disks %*s} ", num_shown * 4 - 7, ""); + xo_emit(" {T:/disks %*s} ", num_shown * 5 - 7, ""); else if (num_shown == 1) - xo_emit(" {T:disks}"); + xo_emit(" {T:disks} "); xo_emit(" {T:faults} "); if (Pflag) { for (i = 0; i <= maxid; i++) { @@ -900,8 +903,7 @@ printhdr(int maxid, u_long cpumask) for (i = 0; i < num_devices; i++) if ((dev_select[i].selected) && (dev_select[i].selected <= maxshowdevs)) - xo_emit("{T:/%c%c%d} ", dev_select[i].device_name[0], - dev_select[i].device_name[1], + xo_emit("{T:/%3.3s%d} ", dev_select[i].device_name, dev_select[i].unit_number); xo_emit(" {T:in} {T:sy} {T:cs}"); if (Pflag) { @@ -1154,11 +1156,15 @@ devstats(void) xo_errx(1, "%s", devstat_errbuf); xo_open_instance("device"); - xo_emit("{ekq:name/%c%c%d}{:transfers/%3.0Lf} ", - dev_select[dn].device_name[0], - dev_select[dn].device_name[1], - dev_select[dn].unit_number, - transfers_per_second); + xo_emit("{ekq:name/%s%d}", + dev_select[dn].device_name, + dev_select[dn].unit_number); + if (hflag) { + prthuman("transfers", (uint64_t)transfers_per_second, + 5, HN_DIVISOR_1000); + } else { + xo_emit("{:transfers/%3.0Lf}", transfers_per_second); + } xo_close_instance("device"); } xo_close_list("device");