- Reenable $addr and $if_up

- Enable the new SMP code (allowing the user to actually see multiple
  cores)
- Enable RES and VSIZE display in $top

From Pascal Stumpf: thanks!

ok benoit@, jasper@
This commit is contained in:
dcoppa 2011-09-11 18:53:28 +00:00
parent a0a550dece
commit 237c8f2f08
5 changed files with 109 additions and 17 deletions

View File

@ -1,11 +1,11 @@
# $OpenBSD: Makefile,v 1.24 2011/07/06 12:32:51 jasper Exp $
# $OpenBSD: Makefile,v 1.25 2011/09/11 18:53:28 dcoppa Exp $
ONLY_FOR_ARCHS= ${APM_ARCHS}
COMMENT= light-weight system monitor
DISTNAME= conky-1.8.1
REVISION= 2
REVISION= 3
CATEGORIES= sysutils
HOMEPAGE= http://conky.sourceforge.net/

View File

@ -1,6 +1,6 @@
$OpenBSD: patch-src_conky_c,v 1.4 2011/04/27 12:55:10 dcoppa Exp $
$OpenBSD: patch-src_conky_c,v 1.5 2011/09/11 18:53:28 dcoppa Exp $
--- src/conky.c.orig Tue Oct 5 23:29:36 2010
+++ src/conky.c Tue Apr 19 19:44:03 2011
+++ src/conky.c Mon Jul 18 13:59:30 2011
@@ -125,7 +125,7 @@
/* FIXME: apm_getinfo is unused here. maybe it's meant for common.c */
@ -21,6 +21,15 @@ $OpenBSD: patch-src_conky_c,v 1.4 2011/04/27 12:55:10 dcoppa Exp $
long color0, color1, color2, color3, color4, color5, color6, color7, color8,
color9;
@@ -1030,7 +1026,7 @@ void generate_text_internal(char *p, int p_max_size,
get_powerbook_batt_info(p, p_max_size, obj->data.i);
}
#endif /* __linux__ */
-#if (defined(__FreeBSD__) || defined(__linux__))
+#if (defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__linux__))
OBJ(if_up) {
if (!interface_up(obj)) {
DO_JUMP;
@@ -1914,7 +1910,7 @@ void generate_text_internal(char *p, int p_max_size,
}
#endif /* __linux__ */

View File

@ -1,7 +1,15 @@
$OpenBSD: patch-src_core_c,v 1.1 2011/04/27 12:55:10 dcoppa Exp $
$OpenBSD: patch-src_core_c,v 1.2 2011/09/11 18:53:28 dcoppa Exp $
--- src/core.c.orig Tue Oct 5 23:29:36 2010
+++ src/core.c Tue Apr 19 19:43:51 2011
@@ -170,9 +170,9 @@ struct text_object *construct_text_object(const char *
+++ src/core.c Mon Jul 18 14:02:29 2011
@@ -75,6 +75,7 @@
#include "freebsd.h"
#elif defined(__OpenBSD__)
#include "openbsd.h"
+int64_t *fresh;
#endif
#include <string.h>
@@ -170,10 +171,14 @@ struct text_object *construct_text_object(const char *
#else
NORM_ERR("acpiacadapter: arg is only used on linux");
#endif
@ -11,9 +19,34 @@ $OpenBSD: patch-src_core_c,v 1.1 2011/04/27 12:55:10 dcoppa Exp $
- END OBJ(freq, 0)
+ OBJ(freq, 0)
get_cpu_count();
+#ifdef __OpenBSD__
+ free(fresh);
+ fresh = NULL;
+#endif
if (!arg || !isdigit(arg[0]) || strlen(arg) >= 2 || atoi(&arg[0]) == 0
|| atoi(&arg[0]) > info.cpu_count) {
@@ -860,7 +860,7 @@ struct text_object *construct_text_object(const char *
obj->data.i = 1;
@@ -326,7 +331,7 @@ struct text_object *construct_text_object(const char *
obj->data.i = PB_BATT_STATUS;
}
#endif /* __linux__ */
-#if (defined(__FreeBSD__) || defined(__linux__))
+#if (defined(__FreeBSD__) || defined (__OpenBSD__) || defined(__linux__))
END OBJ_IF_ARG(if_up, 0, "if_up needs an argument")
parse_if_up_arg(obj, arg);
#endif
@@ -541,8 +546,10 @@ struct text_object *construct_text_object(const char *
parse_platform_sensor(obj, arg);
END OBJ_ARG(hwmon, 0, "hwmon needs argumanets")
parse_hwmon_sensor(obj, arg);
+#endif
END OBJ(addr, &update_net_stats)
parse_net_stat_arg(obj, arg, free_at_crash);
+#ifdef __linux__
END OBJ(addrs, &update_net_stats)
parse_net_stat_arg(obj, arg, free_at_crash);
#endif /* __linux__ */
@@ -860,7 +867,7 @@ struct text_object *construct_text_object(const char *
END OBJ(gw_ip, &update_gateway_info)
#endif /* !__linux__ */
#if (defined(__FreeBSD__) || defined(__FreeBSD_kernel__) \
@ -22,3 +55,12 @@ $OpenBSD: patch-src_core_c,v 1.1 2011/04/27 12:55:10 dcoppa Exp $
END OBJ(apm_adapter, 0)
END OBJ(apm_battery_life, 0)
END OBJ(apm_battery_time, 0)
@@ -1516,7 +1523,7 @@ void free_text_objects(struct text_object *root, int i
free(data.s);
break;
#endif
-#if (defined(__FreeBSD__) || defined(__linux__))
+#if (defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__linux__))
case OBJ_if_up:
free_if_up(obj);
break;

View File

@ -1,4 +1,4 @@
$OpenBSD: patch-src_openbsd_c,v 1.12 2011/07/06 12:50:15 jasper Exp $
$OpenBSD: patch-src_openbsd_c,v 1.13 2011/09/11 18:53:28 dcoppa Exp $
declarations in common.h got changed, but upstream forgot to do the
corresponding changes into openbsd.c
@ -6,7 +6,7 @@ corresponding changes into openbsd.c
Adapt to new OpenBSD kinfo_proc API.
--- src/openbsd.c.orig Tue Oct 5 23:29:36 2010
+++ src/openbsd.c Wed Jul 6 14:30:14 2011
+++ src/openbsd.c Mon Jul 18 14:04:55 2011
@@ -140,7 +140,7 @@ int check_mount(char *s)
return 0;
}
@ -93,7 +93,7 @@ Adapt to new OpenBSD kinfo_proc API.
for (i = 0; i < n_processes; i++) {
if (p[i].p_stat == SRUN) {
cnt++;
@@ -295,6 +301,7 @@ void update_running_processes()
@@ -295,10 +301,11 @@ void update_running_processes()
}
info.run_procs = cnt;
@ -101,6 +101,11 @@ Adapt to new OpenBSD kinfo_proc API.
}
/* new SMP code can be enabled by commenting the following line */
-#define OLDCPU
+/* #define OLDCPU */
#ifdef OLDCPU
struct cpu_load_struct {
@@ -343,7 +350,7 @@ void get_cpu_count()
#endif
}
@ -186,7 +191,34 @@ Adapt to new OpenBSD kinfo_proc API.
processes = malloc(n_processes * sizeof(struct process));
for (i = 0; i < n_processes; i++) {
@@ -784,7 +786,6 @@ inline void proc_find_top(struct process **cpu, struct
@@ -740,6 +742,8 @@ inline void proc_find_top(struct process **cpu, struct
processes[j].pid = p[i].p_pid;
processes[j].name = strndup(p[i].p_comm, text_buffer_size);
processes[j].amount = 100.0 * p[i].p_pctcpu / FSCALE;
+ processes[j].vsize = p[i].p_vm_map_size;
+ processes[j].rss = p[i].p_vm_rssize * PAGE_SIZE;
j++;
}
}
@@ -752,6 +756,8 @@ inline void proc_find_top(struct process **cpu, struct
tmp->pid = processes[i].pid;
tmp->amount = processes[i].amount;
tmp->name = strndup(processes[i].name, text_buffer_size);
+ tmp->vsize = processes[i].vsize;
+ tmp->rss = processes[i].rss;
ttmp = mem[i];
mem[i] = tmp;
@@ -769,6 +775,8 @@ inline void proc_find_top(struct process **cpu, struct
tmp->pid = processes[i].pid;
tmp->amount = processes[i].amount;
tmp->name = strndup(processes[i].name, text_buffer_size);
+ tmp->vsize = processes[i].vsize;
+ tmp->rss = processes[i].rss;
ttmp = cpu[i];
cpu[i] = tmp;
@@ -784,7 +792,6 @@ inline void proc_find_top(struct process **cpu, struct
free(processes);
}
@ -194,7 +226,7 @@ Adapt to new OpenBSD kinfo_proc API.
#define APMDEV "/dev/apm"
#define APM_UNKNOWN 255
@@ -908,7 +909,6 @@ char *get_apm_battery_time()
@@ -908,7 +915,6 @@ char *get_apm_battery_time()
return out;
}
@ -202,7 +234,7 @@ Adapt to new OpenBSD kinfo_proc API.
/* empty stubs so conky links */
void prepare_update()
@@ -923,8 +923,4 @@ int get_entropy_avail(unsigned int *val)
@@ -923,8 +929,4 @@ int get_entropy_avail(unsigned int *val)
int get_entropy_poolsize(unsigned int *val)
{
return 1;

View File

@ -1,6 +1,15 @@
$OpenBSD: patch-src_text_object_h,v 1.1 2011/04/27 12:55:11 dcoppa Exp $
--- src/text_object.h.orig Tue Apr 19 19:42:09 2011
+++ src/text_object.h Tue Apr 19 19:42:32 2011
$OpenBSD: patch-src_text_object_h,v 1.2 2011/09/11 18:53:28 dcoppa Exp $
--- src/text_object.h.orig Tue Oct 5 23:29:36 2010
+++ src/text_object.h Mon Jul 18 14:05:17 2011
@@ -166,7 +166,7 @@ enum text_object_type {
OBJ_wireless_link_qual_perc,
OBJ_wireless_link_bar,
#endif /* __linux__ */
-#if defined(__FreeBSD__) || defined(__linux__)
+#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__linux__)
OBJ_if_up,
#endif
OBJ_if_empty,
@@ -311,7 +311,7 @@ enum text_object_type {
OBJ_pop3_unseen,
OBJ_pop3_used,