summaryrefslogtreecommitdiffstats
path: root/linux
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'hishamhm-pull-920'3.0.0rc1Nathan Scott2020-08-204-0/+95
|\
| * Linux fixesRoss Williams2019-09-031-2/+2
| |
| * Support for ZFS Compressed ARC statisticsRoss Williams2019-09-033-0/+19
| |
| * Refactor openzfs_sysctl_init() and ZfsArcMeter...Ross Williams2019-09-031-12/+1
| | | | | | | | | | | | | | | | | | | | | | openzfs_sysctl_init() now returns void instead of int. The ZfsArcStats->enabled flag is set inside the init function now, instead of having to be set from its return value. Preparation for more flag setting in Compressed ARC commit. ZfsArcMeter_readStats() added and all Meter->values[] setting moved to it, eliminating duplicated code in {darwin,freebsd,linux,solaris}/Platform.c.
| * Refactor common OpenZFS sysctl accessRoss Williams2019-07-073-38/+26
| | | | | | | | | | Darwin and FreeBSD export zfs kstats through the same APIs, so moving functions into a common file.
| * ZFS arcstats for LinuxRoss Williams2019-07-074-0/+100
| | | | | | | | | | | | If no pools are imported (ARC size == 0) or the ZFS module is not in the kernel (/proc/spl/kstat/zfs/arcstats does not exist), then the Meter reports "Unavailable".
* | Merge branch 'hishamhm-pull-1012'Nathan Scott2020-08-201-0/+3
|\ \
| * | adding support for more than 2 smaller cpumeter columnsChristoph Budziszewski2020-06-111-0/+3
| |/
* | Merge branch 'hishamhm-pull-970'Nathan Scott2020-08-201-1/+5
|\ \
| * | Properly identify zombie processesJure Oder2019-12-141-1/+5
| |/ | | | | | | This closes issue #930.
* | Merge branch 'hishamhm-pull-932'Nathan Scott2020-08-204-2/+83
|\ \
| * | Move sysfs-reading code to LinuxProcessList.c and add average frequency.Arnavion2019-08-103-14/+81
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This way the frequency is read from sysfs only once per update cycle instead of every time the UI is redrawn. This also changes the code to read from /proc/cpuinfo instead. This is because reading from scaling_cur_freq stalls for 10ms if the previous read for the file was more than one second ago. [1] Since htop's update cycle is longer than that, it would cause the read of each CPU's scaling_cur_freq file to block the UI for 20ms. This easily led to a noticeable half-second lag on a 20+ CPU machine. /proc/cpuinfo also has a 10ms delay, but this applies for the whole file so the delay does not scale with the number of CPUs. [2] [1]: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=4815d3c56d1e10449a44089a47544d9ba84fad0d [2]: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=7d5905dc14a87805a59f3c5bf70173aac2bb18f8
| * | Show N/A instead of 0KHz when CPU frequency is not available.Arnavion2019-08-101-3/+3
| | |
| * | Add new display option to also show CPU frequency in CPU meters.Arnavion2019-08-091-0/+16
| |/ | | | | | | | | | | | | | | The option is only implemented on Linux. On other platforms, and on Linuxes that do not expose the relevant sysfs file, the frequency will be 0. The "CPU average" meter does not show a frequency, only the individual per-CPU meters.
* | Merge branch 'hishamhm-pull-960'Nathan Scott2020-08-207-31/+30
|\ \
| * | Clean up existing whitespaceDaniel Flanagan2019-10-317-31/+31
| |/
* | Merge branch 'hishamhm-pull-946'Nathan Scott2020-08-201-1/+12
|\ \
| * | Linux: fixes sysfs battery discoverysmattie2019-09-071-1/+12
| |/
* | Merge branch 'hishamhm-pull-890'Nathan Scott2020-08-201-0/+2
|\ \
| * | Add pressure stall information (PSI) meters on LinuxRan Benita2019-02-134-0/+184
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The pressure stall information (PSI) metrics provide useful information on delays caused by waiting for CPU, IO and memory. Particularly on busy servers it can provide a quick overview of what's "slowing things down". This feature is supported on Linux >= 4.20. The interface is documented here: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/plain/Documentation/accounting/psi.txt These links provide rationale: https://lwn.net/Articles/759781/ https://facebookmicrosites.github.io/psi/ The following metrics are added, corresponding to the currently exposed lines (see `head /proc/pressure/*`): - PressureStallCPUSome - PressureStallIOSome - PressureStallIOFull - PressureStallMemorySome - PressureStallMemoryFull The color scheme is the same as that used for Load Average, however I gave it separate entries just in case someone wants to change them specifically. Tested on 4.20.7-arch1-1-ARCH, on the linux platform. Also tested that other platforms still compile (changed configure to use the unsupported platform). Closes #879.
* | Merge branch 'hishamhm-pull-890'Nathan Scott2020-08-204-0/+184
| |
* | Merge branch 'hishamhm-pull-866'Nathan Scott2020-08-202-4/+2
|\ \
| * | Remove unnecessary HAVE_SYS_SYSMACROS_H checkWataru Ashihara2018-12-152-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | HAVE_SYS_SYSMACROS_H is always true if MAJOR_IN_SYSMACROS. This way of checking is recommended in autoconf 2.70 documentation: https://git.savannah.gnu.org/gitweb/?p=autoconf.git;a=blobdiff;f=doc/autoconf.texi;h=4f041bd4e;hp=9ad7dc1c5f02c8ba25b2fe1218bf931c7113a5d5;hb=e17a30e987d7ee695fb4294a82d987ec3dc9b974;hpb=565a6dc50cfa01cec2fb4db894026689cdf4970c NOTE: currently https://www.gnu.org/software/autoconf/manual/autoconf.html is the doc for autoconf 2.69.
* | | Merge branch 'hishamhm-pull-857'Nathan Scott2020-08-201-1/+1
|\ \ \
| * | | Don't follow process when selecting non-process-specific optionswangqr2019-02-121-1/+1
| | |/ | |/| | | | | | | | | | | | | | | | | | | Disable the follow process logic in Action_pickFromVector(), when selecting sort order or user filter, since they don't apply on specific process. Fix #856
* | | Resolve compiler warnings and errors relating to the Arg unionNathan Scott2020-08-202-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Promote the Arg union to a core data type in Object.c such that it is visible everywhere (many source files need it), and correct declarations of several functions that use it. The Process_sendSignal function is also corrected to have the expected return type (bool, not void) - an error being masked by ignoring this not-quite-harmless warning. I've also added error checking to the kill(2) call here, which was previously overlooked / missing (?).
* | | Correction to smaps buffer size passed to smaps path snprintfNathan Scott2020-08-191-2/+2
| | |
* | | Merge branch 'hishamhm-pull-843'Nathan Scott2020-08-194-3/+111
|\ \ \
| * | | Linux: Use /proc/*/smaps_rollup for improved PSS parsing speedAlexander Schlarb2019-03-202-3/+18
| | | |
| * | | Linux: Add PSS (proportional set size), Swap and SwapPSS calculationAlexander Schlarb2019-03-203-2/+95
| |/ / | | | | | | | | | | | | Original code was written by *Craig M. Brandenburg* for htop 1.0.2 Many performance improvements by GitHub user *linvinus*, ported to htop 2.0.2
* | | Re-generate all headers with latest scripts/MakeHeader.pyNathan Scott2020-08-185-15/+15
| | | | | | | | | | | | Sync-up missing extern declarations for many functions.
* | | Merge branch 'hishamhm-pull-842'Nathan Scott2020-08-181-1/+1
|\ \ \
| * | | Widen ST_UID (UID) column to 5 chars to allow UIDs > 9999 without breaking ↵Daniel Lange2018-10-071-1/+1
| | |/ | |/| | | | | | | | | | | | | alignment Issue Github #841, Debian bug #910492
* | | Resolve complation issues with -fno-common (default from gcc-10)Nathan Scott2020-07-102-10/+12
| |/ |/| | | | | | | | | | | Extends the MakeHeader script to auto-generate correct "extern" function declarations in some cases that it currently does not. Related to https://github.com/hishamhm/htop/pull/981
* | Linting changesHisham Muhammad2019-02-101-10/+10
|/ | | | as reported by lgtm.com
* Linux: fix CPU countHisham Muhammad2018-08-241-1/+1
|
* Linux: remove warnings of unused variablesHisham Muhammad2018-08-241-3/+2
|
* Linux: add process->starttime and use it for STARTTIME column (#700)Shawn Landden2018-08-194-17/+42
| | | | | | | this way a remount of /proc will not reset starttimes and we can also see startup times for processes started before the mount of /proc also record btime (boot time in seconds since epoch) as Linux semi-global
* Fix process name updates for shorter strings (#812)Score_Under2018-07-281-1/+1
| | | | When a process name changes from a long string to a short string, truncate instead of just overwriting the beginning.
* Fix #define to match header when regenerating with MakeHeader.py (#789)Faster IT2018-05-221-1/+1
| | | from Debian https://sources.debian.org/src/htop/2.2.0-1/debian/patches/fix-linux-process.patch/
* Linux: change how kernel threads are detectedHisham Muhammad2018-03-253-6/+8
| | | | | | | | | | Use the same method that ps and top use to determine if a process is a kernel thread on Linux: check if cmdline is empty. Thanks to @wangqr's investigation reported here: https://github.com/hishamhm/htop/issues/761#issuecomment-375306069 Fixes #761.
* Updates to generated header filesHisham Muhammad2018-02-261-0/+5
|
* Fix build failure ('major' undefined) in glibc 2.28. (#746)Kang-Che Sung (宋岡哲)2018-02-261-0/+6
| | | | | | | | | | | | | | | | | glibc 2.28 no longer defines 'major' and 'minor' in <sys/types.h> and requires us to include <sys/sysmacros.h>. (glibc 2.25 starts deprecating the macros in <sys/types.h>.) Now do include the latter if found on the system. At the moment, let's also utilize AC_HEADER_MAJOR in configure script. However as Autoconf 2.69 has not yet updated the AC_HEADER_MAJOR macro to reflect the glibc change [1], so add a workaround code. Fixes #663. Supersedes pull request #729. Reference: [1] https://git.savannah.gnu.org/gitweb/?p=autoconf.git;a=commit;h=e17a30e987d7ee695fb4294a82d987ec3dc9b974 Signed-off-by: Kang-Che Sung <explorer09@gmail.com>
* Replace size_t with int/void* unionHisham Muhammad2018-02-181-1/+1
| | | | | | | | I was occasionally passing negative values to size_t. Plus, this better reflects the intent of the variant argument. Reported by Coverity: https://scan8.coverity.com/reports.htm#v13253/p10402/fileInstanceId=22093891&defectInstanceId=7543346&mergedDefectId=174179&fileStart=251&fileEnd=500
* linux/Battery.c: make sure fd is always closedHisham Muhammad2018-02-181-4/+1
| | | | | Detected by Coverity: https://scan8.coverity.com/reports.htm#v13252/p10402/fileInstanceId=22093957&defectInstanceId=7543348&mergedDefectId=174180
* linux/LinuxProcessList.c: Fix indentation.Hisham Muhammad2018-02-171-26/+26
|
* linux/LinuxProcessList: fix reading of number of read syscalls of processMarc Kleine-Budde2018-02-171-1/+1
| | | | | | | | | 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>
* parseBatInfo: check `line` for NULL before passing it to String_getToken()Jan Chren (rindeal)2018-02-041-0/+2
|
* Add support for Linux TASK_IDLEVladimir Panteleev2018-02-041-1/+1
| | | | | | | | | | | | | | Linux commit 06eb61844d841d0032a9950ce7f8e783ee49c0d0 ("sched/debug: Add explicit TASK_IDLE printing") exposes kthreads idling using TASK_IDLE in procfs as "I (idle)". Until now, when sorting the STATE ("S") column, htop used the raw value of the state character for comparison, however that led to the undesirable effect of TASK_IDLE ('I') tasks being sorted above tasks that were running ('R'). Thus, explicitly recognize the idle process state, and sort it below others.
* Adds support for linux delay accounting (#667)André Carvalho2017-12-044-2/+189
| | | | | | Adds support for showing columns with linux delay accounting. This information can be read from the netlink interface, and thus we set up a socket to read from that when initializing the LinuxProcessList (LinuxProcessList_initNetlinkSocket). After that, for each process we call LinuxProcessList_readDelayAcctData, which sends a message thru the socket after setting up a callback to get the answer from the Kernel. That callback sets the process total delay time attribute. We then set the delay percent as the percentage of time process cpu time since last scan.

© 2014-2024 Faster IT GmbH | imprint | privacy policy