* [ptxdist] [PATCH] htop: version bump 2.0.2 -> 2.1.0
@ 2018-02-08 8:24 Marc Kleine-Budde
2018-02-08 9:03 ` Alexander Dahl
0 siblings, 1 reply; 5+ messages in thread
From: Marc Kleine-Budde @ 2018-02-08 8:24 UTC (permalink / raw)
To: mol, ptxdist; +Cc: Marc Kleine-Budde
Also add a patch to fix "number of read syscalls of process".
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
---
...ProcessList-fix-reading-of-number-of-read.patch | 28 ++++++++++++++++++++++
patches/htop-2.1.0/series | 4 ++++
rules/htop.make | 8 ++++---
3 files changed, 37 insertions(+), 3 deletions(-)
create mode 100644 patches/htop-2.1.0/0001-linux-LinuxProcessList-fix-reading-of-number-of-read.patch
create mode 100644 patches/htop-2.1.0/series
diff --git a/patches/htop-2.1.0/0001-linux-LinuxProcessList-fix-reading-of-number-of-read.patch b/patches/htop-2.1.0/0001-linux-LinuxProcessList-fix-reading-of-number-of-read.patch
new file mode 100644
index 000000000000..e1267a32ad71
--- /dev/null
+++ b/patches/htop-2.1.0/0001-linux-LinuxProcessList-fix-reading-of-number-of-read.patch
@@ -0,0 +1,28 @@
+From: Marc Kleine-Budde <mkl@pengutronix.de>
+Date: Wed, 7 Feb 2018 23:16:37 +0100
+Subject: [PATCH] linux/LinuxProcessList: fix reading of number of read
+ syscalls of process
+
+The "if" tests if the character at index "5" is 'r', as a first quick
+check. However at index "5" will always be a colon ":". This patch fixes
+the off-by-one error. htop now shows proper values in the RD_SYSC
+column.
+
+Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
+---
+ linux/LinuxProcessList.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/linux/LinuxProcessList.c b/linux/LinuxProcessList.c
+index 6f2631afa12f..230770258084 100644
+--- a/linux/LinuxProcessList.c
++++ b/linux/LinuxProcessList.c
+@@ -436,7 +436,7 @@ static void LinuxProcessList_readIoFile(LinuxProcess* process, const char* dirna
+ }
+ break;
+ case 's':
+- if (line[5] == 'r' && strncmp(line+1, "yscr: ", 6) == 0) {
++ if (line[4] == 'r' && strncmp(line+1, "yscr: ", 6) == 0) {
+ process->io_syscr = strtoull(line+7, NULL, 10);
+ } else if (strncmp(line+1, "yscw: ", 6) == 0) {
+ process->io_syscw = strtoull(line+7, NULL, 10);
diff --git a/patches/htop-2.1.0/series b/patches/htop-2.1.0/series
new file mode 100644
index 000000000000..81ca0ba6e16d
--- /dev/null
+++ b/patches/htop-2.1.0/series
@@ -0,0 +1,4 @@
+# generated by git-ptx-patches
+#tag:base --start-number 1
+0001-linux-LinuxProcessList-fix-reading-of-number-of-read.patch
+# f87a037f960f427f6ab7ebcbb54e5e4e - git-ptx-patches magic
diff --git a/rules/htop.make b/rules/htop.make
index d7d27306a617..af624c7dfc83 100644
--- a/rules/htop.make
+++ b/rules/htop.make
@@ -17,8 +17,8 @@ PACKAGES-$(PTXCONF_HTOP) += htop
#
# Paths and names
#
-HTOP_VERSION := 2.0.2
-HTOP_MD5 := 7d354d904bad591a931ad57e99fea84a
+HTOP_VERSION := 2.1.0
+HTOP_MD5 := f262b66ad6c194782f4d3a80627e84c8
HTOP := htop-$(HTOP_VERSION)
HTOP_SUFFIX := tar.gz
HTOP_URL := http://hisham.hm/htop/releases/$(HTOP_VERSION)/$(HTOP).$(HTOP_SUFFIX)
@@ -44,7 +44,9 @@ HTOP_CONF_OPT := \
--enable-taskstats \
--disable-unicode \
--enable-linux-affinity \
- --disable-hwloc
+ --disable-hwloc \
+ --disable-setuid \
+ --disable-delayacct
# ----------------------------------------------------------------------------
# Target-Install
--
2.15.1
_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [ptxdist] [PATCH] htop: version bump 2.0.2 -> 2.1.0
2018-02-08 8:24 [ptxdist] [PATCH] htop: version bump 2.0.2 -> 2.1.0 Marc Kleine-Budde
@ 2018-02-08 9:03 ` Alexander Dahl
2018-02-08 9:17 ` Marc Kleine-Budde
0 siblings, 1 reply; 5+ messages in thread
From: Alexander Dahl @ 2018-02-08 9:03 UTC (permalink / raw)
To: Marc Kleine-Budde; +Cc: ptxdist
[-- Attachment #1.1: Type: text/plain, Size: 776 bytes --]
Hei hei,
On Thu, Feb 08, 2018 at 09:24:55AM +0100, Marc Kleine-Budde wrote:
> Also add a patch to fix "number of read syscalls of process".
Wanted to test that feature, didn't notice before htop can do that.
However on the columns SYSCR and IO_RATE I only get "no perm",
although htop is running as root. :-/
So while I can not say anything about the added patch, the tool itself
in version 2.1.0 is running fine, so:
Tested-by: Alexander Dahl <post@lespocky.de>
Greets
Alex
--
»With the first link, the chain is forged. The first speech censured,
the first thought forbidden, the first freedom denied, chains us all
irrevocably.« (Jean-Luc Picard, quoting Judge Aaron Satie)
*** GnuPG-FP: C28E E6B9 0263 95CF 8FAF 08FA 34AD CD00 7221 5CC6 ***
[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
[-- Attachment #2: Type: text/plain, Size: 91 bytes --]
_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [ptxdist] [PATCH] htop: version bump 2.0.2 -> 2.1.0
2018-02-08 9:03 ` Alexander Dahl
@ 2018-02-08 9:17 ` Marc Kleine-Budde
2018-02-08 10:19 ` Alexander Dahl
0 siblings, 1 reply; 5+ messages in thread
From: Marc Kleine-Budde @ 2018-02-08 9:17 UTC (permalink / raw)
To: ptxdist
[-- Attachment #1.1.1: Type: text/plain, Size: 939 bytes --]
On 02/08/2018 10:03 AM, Alexander Dahl wrote:
> On Thu, Feb 08, 2018 at 09:24:55AM +0100, Marc Kleine-Budde wrote:
>> Also add a patch to fix "number of read syscalls of process".
>
> Wanted to test that feature, didn't notice before htop can do that.
> However on the columns SYSCR and IO_RATE I only get "no perm",
> although htop is running as root. :-/
Have you enabled CONFIG_TASK_XACCT and CONFIG_TASK_IO_ACCOUNTING?
What's the output of "cat /proc/$$/io"
> So while I can not say anything about the added patch, the tool itself
> in version 2.1.0 is running fine, so:
>
> Tested-by: Alexander Dahl <post@lespocky.de>
Thanks.
Marc
--
Pengutronix e.K. | Marc Kleine-Budde |
Industrial Linux Solutions | Phone: +49-231-2826-924 |
Vertretung West/Dortmund | Fax: +49-5121-206917-5555 |
Amtsgericht Hildesheim, HRA 2686 | http://www.pengutronix.de |
[-- Attachment #1.2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
[-- Attachment #2: Type: text/plain, Size: 91 bytes --]
_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [ptxdist] [PATCH] htop: version bump 2.0.2 -> 2.1.0
2018-02-08 9:17 ` Marc Kleine-Budde
@ 2018-02-08 10:19 ` Alexander Dahl
2018-02-08 10:33 ` Marc Kleine-Budde
0 siblings, 1 reply; 5+ messages in thread
From: Alexander Dahl @ 2018-02-08 10:19 UTC (permalink / raw)
To: Marc Kleine-Budde; +Cc: ptxdist
[-- Attachment #1.1: Type: text/plain, Size: 710 bytes --]
Hei hei,
On Thu, Feb 08, 2018 at 10:17:31AM +0100, Marc Kleine-Budde wrote:
> Have you enabled CONFIG_TASK_XACCT and CONFIG_TASK_IO_ACCOUNTING?
Didn't have that before. I get some values now, although I'm not sure
how to interpret those. I should probably look in the htop
documentation again. But thanks for the hint, I guess htop can show
even more interesting things, I did not know it can, yet. :-)
Greets
Alex
--
»With the first link, the chain is forged. The first speech censured,
the first thought forbidden, the first freedom denied, chains us all
irrevocably.« (Jean-Luc Picard, quoting Judge Aaron Satie)
*** GnuPG-FP: C28E E6B9 0263 95CF 8FAF 08FA 34AD CD00 7221 5CC6 ***
[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
[-- Attachment #2: Type: text/plain, Size: 91 bytes --]
_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [ptxdist] [PATCH] htop: version bump 2.0.2 -> 2.1.0
2018-02-08 10:19 ` Alexander Dahl
@ 2018-02-08 10:33 ` Marc Kleine-Budde
0 siblings, 0 replies; 5+ messages in thread
From: Marc Kleine-Budde @ 2018-02-08 10:33 UTC (permalink / raw)
To: ptxdist, post
[-- Attachment #1.1.1: Type: text/plain, Size: 5605 bytes --]
On 02/08/2018 11:19 AM, Alexander Dahl wrote:
> On Thu, Feb 08, 2018 at 10:17:31AM +0100, Marc Kleine-Budde wrote:
>> Have you enabled CONFIG_TASK_XACCT and CONFIG_TASK_IO_ACCOUNTING?
>
> Didn't have that before. I get some values now, although I'm not sure
> how to interpret those. I should probably look in the htop
> documentation again. But thanks for the hint, I guess htop can show
> even more interesting things, I did not know it can, yet. :-)
Luckily I've recently collected all needed information:
> RCHAR - Number of bytes the process has read
> WCHAR - Number of bytes the process has written
> SYSCR - Number of read(2) syscalls for the process
> SYSCW - Number of write(2) syscalls for the process
> RBYTES - Bytes of read(2) I/O for the process
> WBYTES - Bytes of write(2) I/O for the process
> CNCLWB - Bytes of cancelled write(2) I/O
>
> IO_READ_RATE - The I/O rate of read(2) in bytes per second for the
> process
> IO_WRITE_RATE - The I/O rate of write(2) in bytes per second for the
> process
> IO_RATE - Total I/O rate in bytes per second
>
> However if you want machine readable output, you have two options:
>
> 1)
> Parse /proc/$PID/io directly, which correspond to the absolute numbers
> from htop. The *_RATE values are calculated by htop from the absolute
> numbers.
>
> See man-page of proc(5) for more information about /proc/$PID/io:
>
>> > rchar: characters read
>> > The number of bytes which this task has caused to
>> > be read from storage. This is simply the sum of
>> > bytes which this process passed to read(2) and
>> > similar system calls. It includes things such as
>> > terminal I/O and is unaffected by whether or not
>> > actual physical disk I/O was required (the read
>> > might have been satisfied from pagecache).
>> >
>> > wchar: characters written
>> > The number of bytes which this task has caused, or
>> > shall cause to be written to disk. Similar
>> > caveats apply here as with rchar.
>
> Counts all read/write done through files (_including_ pseudo files like
> /dev/zero, /dev/null, named pipes).
>
>> > syscr: read syscalls
>> > Attempt to count the number of read I/O opera‐
>> > tions—that is, system calls such as read(2) and
>> > pread(2).
>> >
>> > syscw: write syscalls
>> > Attempt to count the number of write I/O opera‐
>> > tions—that is, system calls such as write(2) and
>> > pwrite(2).
>> >
>> > read_bytes: bytes read
>> > Attempt to count the number of bytes which this
>> > process really did cause to be fetched from the
>> > storage layer. This is accurate for block-backed
>> > filesystems.
>> >
>> > write_bytes: bytes written
>> > Attempt to count the number of bytes which this
>> > process caused to be sent to the storage layer.
>
> Accounting on MTD devices is not accurate for these two.
>
>> > cancelled_write_bytes:
>> > The big inaccuracy here is truncate. If a process
>> > writes 1MB to a file and then deletes the file, it
>> > will in fact perform no writeout. But it will
>> > have been accounted as having caused 1MB of write.
>> > In other words: this field represents the number
>> > of bytes which this process caused to not happen,
>> > by truncating pagecache. A task can cause "nega‐
>> > tive" I/O too. If this task truncates some dirty
>> > pagecache, some I/O which another task has been
>> > accounted for (in its write_bytes) will not be
>> > happening.
>> >
>> > Note: In the current implementation, things are a bit
>> > racy on 32-bit systems: if process A reads process B's
>> > /proc/[pid]/io while process B is updating one of these
>> > 64-bit counters, process A could see an intermediate
>> > result.
>> >
>> > Permission to access this file is governed by a ptrace
>> > access mode PTRACE_MODE_READ_FSCREDS check; see
>> > ptrace(2).
>
> 2)
> Use the netlink bases taststats interface, which gives you the same
> information, but uses far less system resources.
>
> See:
> http://lxr.bootlin.com/linux/latest/source/Documentation/accounting/taskstats.txt
> http://lxr.bootlin.com/linux/latest/source/Documentation/accounting/taskstats-struct.txt
> https://stackoverflow.com/questions/30617368/sending-netlink-taskstats-message-using-libnl-3
Marc
--
Pengutronix e.K. | Marc Kleine-Budde |
Industrial Linux Solutions | Phone: +49-231-2826-924 |
Vertretung West/Dortmund | Fax: +49-5121-206917-5555 |
Amtsgericht Hildesheim, HRA 2686 | http://www.pengutronix.de |
[-- Attachment #1.2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
[-- Attachment #2: Type: text/plain, Size: 91 bytes --]
_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2018-02-08 10:33 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-02-08 8:24 [ptxdist] [PATCH] htop: version bump 2.0.2 -> 2.1.0 Marc Kleine-Budde
2018-02-08 9:03 ` Alexander Dahl
2018-02-08 9:17 ` Marc Kleine-Budde
2018-02-08 10:19 ` Alexander Dahl
2018-02-08 10:33 ` Marc Kleine-Budde
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox