htop: import illumos fixes from OmniOS CE
This commit is contained in:
parent
253c061ab4
commit
524ff3bf3a
|
@ -1,6 +1,11 @@
|
|||
$NetBSD: distinfo,v 1.24 2024/02/18 01:51:01 fox Exp $
|
||||
$NetBSD: distinfo,v 1.25 2024/02/26 09:31:51 nia Exp $
|
||||
|
||||
BLAKE2s (htop-3.3.0.tar.gz) = 49b573cab35804cb6e0c437af78e9311e00d719e66724222252980cf4b869f99
|
||||
SHA512 (htop-3.3.0.tar.gz) = 4c03bd183d97ec84010472ea52ff6e210e6d211c813d0ab52bacef16d7e4eef9483e65279fb0a846dcdb532ad19eb1c1c39bad9dd8b103d36aeb51cb5d28e23a
|
||||
Size (htop-3.3.0.tar.gz) = 406012 bytes
|
||||
SHA1 (patch-solaris_Platform.h) = c23c6cf20607dd69e626be716337471fffd70d86
|
||||
SHA1 (patch-solaris_Platform.c) = 0388d962692ce071e587a9a6a9f809051e817ef8
|
||||
SHA1 (patch-solaris_SolarisMachine.c) = 8a25f831b674a2bb2342d70052c78edf3602c81f
|
||||
SHA1 (patch-solaris_SolarisMachine.h) = 76d744d0189a7849b2d655e2343569e33609f367
|
||||
SHA1 (patch-solaris_SolarisProcess.c) = 5d9725eccbd3a5cf857575f309ec86519adb433e
|
||||
SHA1 (patch-solaris_SolarisProcess.h) = a1cc8f29f008e9a21cc79a524f78d9cd91bcd36c
|
||||
SHA1 (patch-solaris_SolarisProcessTable.c) = 951b595cce2e6c460a16e46e8a26a6c2329607e0
|
||||
|
|
|
@ -0,0 +1,38 @@
|
|||
$NetBSD: patch-solaris_Platform.c,v 1.3 2024/02/26 09:31:52 nia Exp $
|
||||
|
||||
PR created upstream:
|
||||
|
||||
https://github.com/htop-dev/htop/pull/1371
|
||||
|
||||
From 4b87af0663f83ed90f044f975e519409c92b8bd9 Mon Sep 17 00:00:00 2001
|
||||
From: Dominik Hassler <hadfl@omnios.org>
|
||||
Date: Thu, 11 Jan 2024 17:44:34 +0000
|
||||
Subject: [PATCH] fixes for illumos/Solaris platforms
|
||||
|
||||
--- solaris/Platform.c.orig 2024-01-10 09:54:15.000000000 +0000
|
||||
+++ solaris/Platform.c
|
||||
@@ -220,7 +220,7 @@ double Platform_setCPUValues(Meter* this
|
||||
|
||||
v[CPU_METER_NICE] = cpuData->nicePercent;
|
||||
v[CPU_METER_NORMAL] = cpuData->userPercent;
|
||||
- if (super->settings->detailedCPUTime) {
|
||||
+ if (host->settings->detailedCPUTime) {
|
||||
v[CPU_METER_KERNEL] = cpuData->systemPercent;
|
||||
v[CPU_METER_IRQ] = cpuData->irqPercent;
|
||||
this->curItems = 4;
|
||||
@@ -258,13 +258,13 @@ void Platform_setSwapValues(Meter* this)
|
||||
}
|
||||
|
||||
void Platform_setZfsArcValues(Meter* this) {
|
||||
- const SolarisMachine* shost = (SolarisMachine*) this->host;
|
||||
+ const SolarisMachine* shost = (const SolarisMachine*) this->host;
|
||||
|
||||
ZfsArcMeter_readStats(this, &shost->zfs);
|
||||
}
|
||||
|
||||
void Platform_setZfsCompressedArcValues(Meter* this) {
|
||||
- const SolarisMachine* shost = (SolarisMachine*) this->host;
|
||||
+ const SolarisMachine* shost = (const SolarisMachine*) this->host;
|
||||
|
||||
ZfsCompressedArcMeter_readStats(this, &shost->zfs);
|
||||
}
|
|
@ -1,23 +0,0 @@
|
|||
$NetBSD: patch-solaris_Platform.h,v 1.1 2022/05/16 12:14:22 jperkin Exp $
|
||||
|
||||
Remove unwanted and breaking includes.
|
||||
|
||||
--- solaris/Platform.h.orig 2022-05-01 06:31:20.000000000 +0000
|
||||
+++ solaris/Platform.h
|
||||
@@ -17,16 +17,12 @@ in the source distribution for its full
|
||||
* Since ncruses macros use the ERR macro, we can not use another name.
|
||||
*/
|
||||
#undef ERR
|
||||
-#include <libproc.h>
|
||||
#undef ERR
|
||||
#define ERR (-1)
|
||||
|
||||
#include <signal.h>
|
||||
#include <stdbool.h>
|
||||
|
||||
-#include <sys/mkdev.h>
|
||||
-#include <sys/proc.h>
|
||||
-#include <sys/types.h>
|
||||
|
||||
#include "Action.h"
|
||||
#include "BatteryMeter.h"
|
|
@ -0,0 +1,33 @@
|
|||
$NetBSD: patch-solaris_SolarisMachine.c,v 1.1 2024/02/26 09:31:52 nia Exp $
|
||||
|
||||
PR created upstream:
|
||||
|
||||
https://github.com/htop-dev/htop/pull/1371
|
||||
|
||||
From 4b87af0663f83ed90f044f975e519409c92b8bd9 Mon Sep 17 00:00:00 2001
|
||||
From: Dominik Hassler <hadfl@omnios.org>
|
||||
Date: Thu, 11 Jan 2024 17:44:34 +0000
|
||||
Subject: [PATCH] fixes for illumos/Solaris platforms
|
||||
|
||||
--- solaris/SolarisMachine.c.orig 2024-01-10 09:54:15.000000000 +0000
|
||||
+++ solaris/SolarisMachine.c
|
||||
@@ -57,7 +57,7 @@ static void SolarisMachine_updateCPUcoun
|
||||
|
||||
if (s != super->activeCPUs) {
|
||||
change = true;
|
||||
- hsuper->activeCPUs = s;
|
||||
+ super->activeCPUs = s;
|
||||
}
|
||||
|
||||
if (change) {
|
||||
@@ -310,6 +310,10 @@ Machine* Machine_new(UsersTable* usersTa
|
||||
CRT_fatalError("Cannot get pagesize by sysconf(_SC_PAGESIZE)");
|
||||
this->pageSizeKB = this->pageSize / 1024;
|
||||
|
||||
+ this->kd = kstat_open();
|
||||
+ if (!this->kd)
|
||||
+ CRT_fatalError("Cannot open kstat handle");
|
||||
+
|
||||
SolarisMachine_updateCPUcount(this);
|
||||
|
||||
return super;
|
|
@ -0,0 +1,21 @@
|
|||
$NetBSD: patch-solaris_SolarisMachine.h,v 1.1 2024/02/26 09:31:52 nia Exp $
|
||||
|
||||
PR created upstream:
|
||||
|
||||
https://github.com/htop-dev/htop/pull/1371
|
||||
|
||||
From 4b87af0663f83ed90f044f975e519409c92b8bd9 Mon Sep 17 00:00:00 2001
|
||||
From: Dominik Hassler <hadfl@omnios.org>
|
||||
Date: Thu, 11 Jan 2024 17:44:34 +0000
|
||||
Subject: [PATCH] fixes for illumos/Solaris platforms
|
||||
|
||||
--- solaris/SolarisMachine.h.orig 2024-01-10 09:54:15.000000000 +0000
|
||||
+++ solaris/SolarisMachine.h
|
||||
@@ -19,6 +19,7 @@ in the source distribution for its full
|
||||
#include <sys/uio.h>
|
||||
|
||||
#include "Hashtable.h"
|
||||
+#include "Machine.h"
|
||||
#include "UsersTable.h"
|
||||
|
||||
#include "zfs/ZfsArcStats.h"
|
|
@ -0,0 +1,21 @@
|
|||
$NetBSD: patch-solaris_SolarisProcess.c,v 1.1 2024/02/26 09:31:52 nia Exp $
|
||||
|
||||
PR created upstream:
|
||||
|
||||
https://github.com/htop-dev/htop/pull/1371
|
||||
|
||||
From 4b87af0663f83ed90f044f975e519409c92b8bd9 Mon Sep 17 00:00:00 2001
|
||||
From: Dominik Hassler <hadfl@omnios.org>
|
||||
Date: Thu, 11 Jan 2024 17:44:34 +0000
|
||||
Subject: [PATCH] fixes for illumos/Solaris platforms
|
||||
|
||||
--- solaris/SolarisProcess.c.orig 2024-01-10 09:54:15.000000000 +0000
|
||||
+++ solaris/SolarisProcess.c
|
||||
@@ -15,7 +15,6 @@ in the source distribution for its full
|
||||
#include <unistd.h>
|
||||
#include <sys/syscall.h>
|
||||
|
||||
-#include "Process.h"
|
||||
#include "ProcessTable.h"
|
||||
#include "CRT.h"
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
$NetBSD: patch-solaris_SolarisProcess.h,v 1.1 2024/02/26 09:31:52 nia Exp $
|
||||
|
||||
PR created upstream:
|
||||
|
||||
https://github.com/htop-dev/htop/pull/1371
|
||||
|
||||
From 4b87af0663f83ed90f044f975e519409c92b8bd9 Mon Sep 17 00:00:00 2001
|
||||
From: Dominik Hassler <hadfl@omnios.org>
|
||||
Date: Thu, 11 Jan 2024 17:44:34 +0000
|
||||
Subject: [PATCH] fixes for illumos/Solaris platforms
|
||||
|
||||
--- solaris/SolarisProcess.h.orig 2024-01-10 09:54:15.000000000 +0000
|
||||
+++ solaris/SolarisProcess.h
|
||||
@@ -20,6 +20,7 @@ in the source distribution for its full
|
||||
#define ERR (-1)
|
||||
|
||||
#include "Machine.h"
|
||||
+#include "Process.h"
|
||||
|
||||
|
||||
typedef struct SolarisProcess_ {
|
|
@ -0,0 +1,59 @@
|
|||
$NetBSD: patch-solaris_SolarisProcessTable.c,v 1.1 2024/02/26 09:31:52 nia Exp $
|
||||
|
||||
PR created upstream:
|
||||
|
||||
https://github.com/htop-dev/htop/pull/1371
|
||||
|
||||
From 4b87af0663f83ed90f044f975e519409c92b8bd9 Mon Sep 17 00:00:00 2001
|
||||
From: Dominik Hassler <hadfl@omnios.org>
|
||||
Date: Thu, 11 Jan 2024 17:44:34 +0000
|
||||
Subject: [PATCH] fixes for illumos/Solaris platforms
|
||||
|
||||
--- solaris/SolarisProcessTable.c.orig 2024-01-10 09:54:15.000000000 +0000
|
||||
+++ solaris/SolarisProcessTable.c
|
||||
@@ -24,6 +24,7 @@ in the source distribution for its full
|
||||
|
||||
#include "CRT.h"
|
||||
#include "solaris/Platform.h"
|
||||
+#include "solaris/SolarisMachine.h"
|
||||
#include "solaris/SolarisProcess.h"
|
||||
|
||||
|
||||
@@ -112,8 +113,8 @@ static int SolarisProcessTable_walkproc(
|
||||
|
||||
// Setup process list
|
||||
ProcessTable* pt = (ProcessTable*) listptr;
|
||||
- SolarisProcessTable* spt = (SolarisProcessTable*) listptr;
|
||||
- Machine* host = pt->host;
|
||||
+ const Machine* host = pt->super.host;
|
||||
+ const SolarisMachine* shost = (const SolarisMachine*) host;
|
||||
|
||||
id_t lwpid_real = _lwpsinfo->pr_lwpid;
|
||||
if (lwpid_real > 1023) {
|
||||
@@ -133,7 +134,7 @@ static int SolarisProcessTable_walkproc(
|
||||
const Settings* settings = host->settings;
|
||||
|
||||
// Common code pass 1
|
||||
- proc->show = false;
|
||||
+ proc->super.show = false;
|
||||
sproc->taskid = _psinfo->pr_taskid;
|
||||
sproc->projid = _psinfo->pr_projid;
|
||||
sproc->poolid = _psinfo->pr_poolid;
|
||||
@@ -171,7 +172,7 @@ static int SolarisProcessTable_walkproc(
|
||||
sproc->realpid = _psinfo->pr_pid;
|
||||
sproc->lwpid = lwpid_real;
|
||||
sproc->zoneid = _psinfo->pr_zoneid;
|
||||
- sproc->zname = SolarisProcessTable_readZoneName(spt->kd, sproc);
|
||||
+ sproc->zname = SolarisProcessTable_readZoneName(shost->kd, sproc);
|
||||
SolarisProcessTable_updateExe(_psinfo->pr_pid, proc);
|
||||
|
||||
Process_updateComm(proc, _psinfo->pr_fname);
|
||||
@@ -218,7 +219,7 @@ static int SolarisProcessTable_walkproc(
|
||||
pt->totalTasks += proc->nlwp + 1;
|
||||
}
|
||||
}
|
||||
- proc->show = !(settings->hideKernelThreads && proc->isKernelThread);
|
||||
+ proc->super.show = !(settings->hideKernelThreads && proc->isKernelThread);
|
||||
} else { // We are not in the master LWP, so jump to the LWP handling code
|
||||
proc->percent_cpu = ((uint16_t)_lwpsinfo->pr_pctcpu / (double)32768) * (double)100.0;
|
||||
Process_updateCPUFieldWidths(proc->percent_cpu);
|
Loading…
Reference in New Issue