From 4a022f0e0697bcfe84f02eaf9d5cf193e01feec0 Mon Sep 17 00:00:00 2001 From: Kirk McKusick Date: Tue, 14 Jul 2020 18:57:31 +0000 Subject: [PATCH] Update to D25266, bin/ps: Make the rtprio option actually show realtime priorities The current `ps -axO rtprio' show threads running at interrupt priority such as the [intr] thread as '1:48' and threads running at kernel priority such as [pagedaemon] as normal:4294967260. This change shows [intr] as intr:48 and [pagedaemon] as kernel:4. Reviewed by: kib MFC after: 1 week (together with -r362369) Differential Revision: https://reviews.freebsd.org/D25660 --- bin/ps/print.c | 9 ++++++++- sys/sys/rtprio.h | 1 + 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/bin/ps/print.c b/bin/ps/print.c index b4458b453cdd..3d3a543c8a5d 100644 --- a/bin/ps/print.c +++ b/bin/ps/print.c @@ -723,12 +723,19 @@ priorityr(KINFO *k, VARENT *ve __unused) break; case RTP_PRIO_NORMAL: /* alias for PRI_TIMESHARE */ - asprintf(&str, "normal:%u", level - PRI_MIN_TIMESHARE); + if (level >= PRI_MIN_TIMESHARE) + asprintf(&str, "normal:%u", level - PRI_MIN_TIMESHARE); + else + asprintf(&str, "kernel:%u", level - PRI_MIN_KERN); break; case RTP_PRIO_IDLE: /* alias for PRI_IDLE */ asprintf(&str, "idle:%u", level - PRI_MIN_IDLE); break; + case RTP_PRIO_ITHD: + /* alias for PRI_ITHD */ + asprintf(&str, "intr:%u", level - PRI_MIN_ITHD); + break; default: asprintf(&str, "%u:%u", class, level); break; diff --git a/sys/sys/rtprio.h b/sys/sys/rtprio.h index 529156030742..a950e9a459c7 100644 --- a/sys/sys/rtprio.h +++ b/sys/sys/rtprio.h @@ -44,6 +44,7 @@ /* priority types. Start at 1 to catch uninitialized fields. */ +#define RTP_PRIO_ITHD PRI_ITHD /* Interrupt thread. */ #define RTP_PRIO_REALTIME PRI_REALTIME /* real time process */ #define RTP_PRIO_NORMAL PRI_TIMESHARE /* time sharing process */ #define RTP_PRIO_IDLE PRI_IDLE /* idle process */