You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
190 lines
6.5 KiB
190 lines
6.5 KiB
2 weeks ago
|
From 9fd52d5705fad70c0cb4ad8d508596a488262acf Mon Sep 17 00:00:00 2001
|
||
|
From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
|
||
|
Date: Mon, 13 Jul 2020 09:24:35 +0200
|
||
|
Subject: [PATCH] Use kibibytes instead of kilobytes in a documentation
|
||
|
MIME-Version: 1.0
|
||
|
Content-Type: text/plain; charset=UTF-8
|
||
|
Content-Transfer-Encoding: 8bit
|
||
|
|
||
|
This patch does not changes any output of the time program. It only
|
||
|
clarifies a manual and the comments.
|
||
|
|
||
|
<https://lists.gnu.org/archive/html/bug-time/2020-07/msg00000.html>
|
||
|
|
||
|
Signed-off-by: Petr Písař <ppisar@redhat.com>
|
||
|
---
|
||
|
configure.ac | 6 +++---
|
||
|
doc/time.texi | 12 ++++++------
|
||
|
src/rusage-kb.c | 4 ++--
|
||
|
src/rusage-kb.h | 10 +++++-----
|
||
|
src/time.c | 6 +++---
|
||
|
tests/time-max-rss.sh | 4 ++--
|
||
|
6 files changed, 21 insertions(+), 21 deletions(-)
|
||
|
|
||
|
diff --git a/configure.ac b/configure.ac
|
||
|
index d2950bd..67738b5 100644
|
||
|
--- a/configure.ac
|
||
|
+++ b/configure.ac
|
||
|
@@ -90,7 +90,7 @@ if test -z "$time_getrusage_mem_units" ; then
|
||
|
|
||
|
solaris*) time_getrusage_mem_units=pages ;;
|
||
|
|
||
|
- # As a fallback, assume KB (the most common value).
|
||
|
+ # As a fallback, assume KiB (the most common value).
|
||
|
# Set the 'warn' variable to warn the user at the end
|
||
|
# of ./configure
|
||
|
*) time_getrusage_mem_units=kb
|
||
|
@@ -104,7 +104,7 @@ case $time_getrusage_mem_units in
|
||
|
kb)
|
||
|
AC_DEFINE([GETRUSAGE_RETURNS_KB],[1],
|
||
|
[Define to 1 if getrusage(2) on this systems returns
|
||
|
- ru_maxrss in kilobytes])
|
||
|
+ ru_maxrss in kibibytes])
|
||
|
;;
|
||
|
|
||
|
bytes)
|
||
|
@@ -140,7 +140,7 @@ AC_OUTPUT
|
||
|
# Warn the user if getrusage(2) behaviour on this OS is unknown
|
||
|
if test "$warn_getrusage_mem_units" ; then
|
||
|
AC_MSG_WARN([unknown getrusage behavior on operating system '$host_os'.
|
||
|
- Assuming Kilobytes.
|
||
|
+ Assuming kibibytes.
|
||
|
please report this with the output of 'uname -a' to
|
||
|
bug-time@gnu.org])
|
||
|
fi
|
||
|
diff --git a/doc/time.texi b/doc/time.texi
|
||
|
index dac65b4..3a05ed9 100644
|
||
|
--- a/doc/time.texi
|
||
|
+++ b/doc/time.texi
|
||
|
@@ -241,22 +241,22 @@ times divied by the total running time.
|
||
|
@table @code
|
||
|
@item M
|
||
|
Maximum resident set size of the process during its lifetime, in
|
||
|
-Kilobytes.
|
||
|
+kibibytes.
|
||
|
|
||
|
@item t
|
||
|
-Average resident set size of the process, in Kilobytes.
|
||
|
+Average resident set size of the process, in kibibytes.
|
||
|
|
||
|
@item K
|
||
|
-Average total (data+stack+text) memory use of the process, in Kilobytes.
|
||
|
+Average total (data+stack+text) memory use of the process, in kibibytes.
|
||
|
|
||
|
@item D
|
||
|
-Average size of the process's unshared data area, in Kilobytes.
|
||
|
+Average size of the process's unshared data area, in kibibytes.
|
||
|
|
||
|
@item p
|
||
|
-Average size of the process's unshared stack, in Kilobytes.
|
||
|
+Average size of the process's unshared stack, in kibibytes.
|
||
|
|
||
|
@item X
|
||
|
-Average size of the process's shared text, in Kilobytes.
|
||
|
+Average size of the process's shared text, in kibibytes.
|
||
|
|
||
|
@item Z
|
||
|
System's page size, in bytes. This is a per-system constant, but
|
||
|
diff --git a/src/rusage-kb.c b/src/rusage-kb.c
|
||
|
index aad06b8..04352cd 100644
|
||
|
--- a/src/rusage-kb.c
|
||
|
+++ b/src/rusage-kb.c
|
||
|
@@ -25,8 +25,8 @@
|
||
|
#include <limits.h>
|
||
|
#include <unistd.h>
|
||
|
|
||
|
-/* Return the number of kilobytes corresponding to a number of pages PAGES.
|
||
|
- (Actually, we use it to convert pages*ticks into kilobytes*ticks.)
|
||
|
+/* Return the number of kibibytes corresponding to a number of pages PAGES.
|
||
|
+ (Actually, we use it to convert pages*ticks into kibibytes*ticks.)
|
||
|
|
||
|
Try to do arithmetic so that the risk of overflow errors is minimized.
|
||
|
This is funky since the pagesize could be less than 1K.
|
||
|
diff --git a/src/rusage-kb.h b/src/rusage-kb.h
|
||
|
index 4a53515..b7b1155 100644
|
||
|
--- a/src/rusage-kb.h
|
||
|
+++ b/src/rusage-kb.h
|
||
|
@@ -19,7 +19,7 @@
|
||
|
#ifndef _RUSAGE_KB_
|
||
|
#define _RUSAGE_KB_
|
||
|
|
||
|
-/* As of 2017, most kernels' getrusage(2) returns ru_maxrss in kilobytes:
|
||
|
+/* As of 2017, most kernels' getrusage(2) returns ru_maxrss in kibibytes:
|
||
|
Linux, Hurd, Free/Open/Net-BSD, MINIX, AIX7
|
||
|
|
||
|
OpenSolaris's getrusage(2) documents a return value in pages,
|
||
|
@@ -32,20 +32,20 @@
|
||
|
|
||
|
#if GETRUSAGE_RETURNS_KB
|
||
|
|
||
|
-/* define as no-op, as RUSAGE values are already in KB */
|
||
|
+/* define as no-op, as RUSAGE values are already in KiB */
|
||
|
#define RUSAGE_MEM_TO_KB(x) (x)
|
||
|
|
||
|
#elif GETRUSAGE_RETURNS_BYTES
|
||
|
|
||
|
-/* Convert bytes to kilobytes */
|
||
|
+/* Convert bytes to kibibytes */
|
||
|
#define RUSAGE_MEM_TO_KB(x) ((x)/1024)
|
||
|
|
||
|
#elif GETRUSAGE_RETURNS_PAGES
|
||
|
|
||
|
-/* Convert bytes to kilobytes */
|
||
|
+/* Convert bytes to kibibytes */
|
||
|
#define RUSAGE_MEM_TO_KB(x) (ptok (x))
|
||
|
|
||
|
-/* A function to get the system's page size and convert pages to KB */
|
||
|
+/* A function to get the system's page size and convert pages to KiB */
|
||
|
unsigned long
|
||
|
ptok (unsigned long pages);
|
||
|
|
||
|
diff --git a/src/time.c b/src/time.c
|
||
|
index 7e07995..f76265a 100644
|
||
|
--- a/src/time.c
|
||
|
+++ b/src/time.c
|
||
|
@@ -108,8 +108,8 @@ typedef RETSIGTYPE (*sighandler) ();
|
||
|
and 100 on the sun4.
|
||
|
|
||
|
Some manuals have an apparent error, claiming that units for average
|
||
|
- sizes are kb*sec. Judging by the contents of `struct rusage', it
|
||
|
- looks like it should be kb*ticks, like on SunOS. Ticks/sec seems
|
||
|
+ sizes are KiB*sec. Judging by the contents of `struct rusage', it
|
||
|
+ looks like it should be KiB*ticks, like on SunOS. Ticks/sec seems
|
||
|
to be (empirically):
|
||
|
50 Mt. Xinu
|
||
|
250 Ultrix (mips)
|
||
|
@@ -412,7 +412,7 @@ linear_argv (argv)
|
||
|
x == exit status of command
|
||
|
|
||
|
Various memory usages are found by converting from page-seconds
|
||
|
- to kbytes by multiplying by the page size, dividing by 1024,
|
||
|
+ to kibibytes by multiplying by the page size, dividing by 1024,
|
||
|
and dividing by elapsed real time.
|
||
|
|
||
|
FP is the stream to print to.
|
||
|
diff --git a/tests/time-max-rss.sh b/tests/time-max-rss.sh
|
||
|
index 0adda5c..5ecd3f2 100755
|
||
|
--- a/tests/time-max-rss.sh
|
||
|
+++ b/tests/time-max-rss.sh
|
||
|
@@ -27,7 +27,7 @@ fail=
|
||
|
# The auxiliary program should be built and runnable
|
||
|
time-aux || framework_failure_ "time-aux is missing/not runnable"
|
||
|
|
||
|
-# Get the baseline number of MAX-RSS kilobytes
|
||
|
+# Get the baseline number of MAX-RSS kibibytes
|
||
|
# use by the program when not allocating any extra memory
|
||
|
env time -o mem-baseline -f "%M" time-aux \
|
||
|
|| framework_failure_ "failed to run time/time-aux (baseline max-rss)"
|
||
|
@@ -49,7 +49,7 @@ test "$b" -eq "0" && test "$c" -eq 0 \
|
||
|
# There could be alot of variation between each invocation,
|
||
|
# accept a reasonable range
|
||
|
if test "$d" -ge 5000 && test "$d" -le 6000 ; then
|
||
|
- : # acceptable values: 5000-6000 KB
|
||
|
+ : # acceptable values: 5000-6000 KiB
|
||
|
else
|
||
|
cat<<EOF>&2
|
||
|
time(1) failed to detect 5MB allcoation.
|
||
|
--
|
||
|
2.25.4
|
||
|
|