Commit Graph

309 Commits

Author SHA1 Message Date
Martin Baulig
b55257d0d3 Make this work with NetBSD 1.4. 1999-05-26 15:32:59 +00:00
Martin Baulig
68e7b7a1d4 Removed debugging statement. 1999-05-26 15:28:58 +00:00
Martin Baulig
7b7071cf6d Only #include <sys/param.h> inside LibGTop. 1999-05-26 15:28:27 +00:00
Martin Baulig
b1e908e6b6 More NetBSD 1.4 fixes.
1999-05-26  Martin Baulig  <martin@home-of-linux.org>

	More NetBSD 1.4 fixes.

	* mem.c, procmap.c, procmem.c: Make this work with the new UVM code.

	[FIXME: This following most likely works on all BSD systems, but
	this needs to be tested; I made it conditional to NetBSD 1.4 at
	the moment. Please extend the conditionals to any other systems
	where this works ...]

	* procstate.c: Added `ruid' and `rgid' for LibGTop >= 1.1.0.
	* procuid.c: Added `ngroups' and `groups' for LibGTop >= 1.1.0.
1999-05-26 13:21:19 +00:00
Martin Baulig
e3f9aa526b *** empty log message *** 1999-05-25 18:11:14 +00:00
Martin Baulig
7db0c756d6 First attempt at making this work on NetBSD 1.4. 1999-05-25 18:09:27 +00:00
Martin Baulig
c1bd844673 Make I4B work on NetBSD. 1999-05-25 17:25:29 +00:00
Drazen Kacar
914354adb2 automake.die.die.die 1999-05-21 21:25:35 +00:00
Drazen Kacar
f232ddcdcb Implemented what Solaris has to offer cheaply. It sucks, but digging in
* procargs.c: Implemented what Solaris has to offer cheaply.
        It sucks, but digging in process address space would be
        too slow.
1999-05-17 16:37:38 +00:00
Martin Baulig
9e16f6e88c Fixed implementation of the state' field; added ruid' and `rgid' fields.
1999-05-11  Martin Baulig  <martin@home-of-linux.org>

	* procstate.c: Fixed implementation of the `state' field; added
	`ruid' and `rgid' fields.
1999-05-11 12:56:50 +00:00
Drazen Kacar
f23e8b3d1c Return 0 usage times for scheaduler (PID 0).
* proctime.c: Return 0 usage times for scheaduler (PID 0).
1999-05-11 06:25:04 +00:00
Drazen Kacar
04d988357f Another try to match Linux process states. Why am I doing it? 1999-05-11 06:11:46 +00:00
Drazen Kacar
2d838b9f09 Forgot to commit. 1999-05-10 06:01:52 +00:00
Drazen Kacar
c1649507e9 Added process selection mechanism. It's not included in Solaris 2.5 build,
* proclist.c: Added process selection mechanism. It's not
        included in Solaris 2.5 build, since we first have to decide
        what will be dispatched to daemon.
1999-05-10 05:44:52 +00:00
Drazen Kacar
a246a6390f There be some useful documentation now. Syncing...
* mem.c: Output values in bytes, as the documentation requires.
        It was a bit odd when gtop reported 256K of total memory.
1999-05-09 22:38:16 +00:00
Drazen Kacar
6a9317238a Typoo fix. 1999-05-09 21:56:52 +00:00
Drazen Kacar
03be66c857 Initial Solaris 2.5 port. It's far from being complete and hasn't been
* glibtop_machine.h, procdata.c, proclist.c, procmap.c, procmem.c,
        procsignal.c, procstate.c, procuid.c, open.c, mem.c: Initial
        Solaris 2.5 port. It's far from being complete and hasn't been
        tested properly. We'll need setuid root daemon, which is
        currently not implemented. #ifdef symbols to check are
        HAVE_PROCFS_H and KSTAT_DATA_UINT32. These will be defined on
        Solaris 2.6 and later, but not on earlier releases.
1999-05-09 20:27:43 +00:00
Drazen Kacar
ffb4b0fade Added s_open(), s_close() etc. with EINTR wrappers.
* safeio.c, safeio.h: Added s_open(), s_close() etc. with EINTR
        wrappers.

        * procdata.c, procmap.c, proclist.c: Use them.
1999-05-08 19:20:02 +00:00
Drazen Kacar
bfd03680cc Use bytes as units for memory consumption.
* procmem.c: Use bytes as units for memory consumption.
1999-05-08 17:39:54 +00:00
Drazen Kacar
82280b673e Deleted crap. 1999-05-08 04:49:04 +00:00
Drazen Kacar
4d55985151 Fixed pagesize.
* open.c: Fixed pagesize.
1999-05-08 02:10:00 +00:00
Drazen Kacar
2635e545bf Fixed nice value.
* procuid.c: Fixed nice value.
1999-05-08 01:53:41 +00:00
Martin Baulig
e8a3a40691 Moved them into the setgid server since they need to access kvm data.
1999-05-08  Martin Baulig  <martin@home-of-linux.org>

	* shm_limits.c, msg_limits.c, sem_limits.c: Moved them into the
	setgid server since they need to access kvm data.

	* open_suid.c, close_suid.c: New file. We do the initialization and cleanup
	for the setgid server here.

	* glibtop_suid.h: New file. We include this in the setgid files.

	* open.c: Moved kvm opening code into open_suid.c.
1999-05-07 23:24:08 +00:00
Drazen Kacar
3a7d7778a0 *** empty log message *** 1999-05-07 23:15:24 +00:00
Drazen Kacar
437c7585cc machine.pagesize is now number of bits we need for shifting, ie.
* glibtop_machine.h, open.c, mem.c, procmem.c: machine.pagesize
        is now number of bits we need for shifting, ie. 2^pagesize
        will give pagesize in Kb.
1999-05-07 23:13:46 +00:00
Drazen Kacar
217a1e92c6 Implemented size, vsize, resident and rss.
* procmem.c: Implemented size, vsize, resident and rss.
1999-05-07 20:38:13 +00:00
Martin Baulig
6120c5e4a8 Use (1L << feature)' instead of (1 << feature)' to avoid problems
with integer overflows when we add more fields.
1999-05-06 21:35:36 +00:00
Drazen Kacar
b252a80b7e Fixed, valid for Solaris 2.6 & 7.
* siglist.c: Fixed, valid for Solaris 2.6 & 7.
1999-05-06 20:44:01 +00:00
Martin Baulig
d67182f411 Added pointer_size' which is the number of bits of a void *'.
1999-05-06  Martin Baulig  <martin@home-of-linux.org>

	* include/glibtop/sysdeps.h (glibtop_sysdeps): Added `pointer_size'
	which is the number of bits of a `void *'.
1999-05-06 19:49:31 +00:00
Martin Baulig
fec8f23ad4 Merge alpha fix from the stable branch. 1999-05-06 13:22:34 +00:00
Drazen Kacar
ab7f1cc3be List of supplementary groups was not correct. Fixed.
* glibtop_private.h, procuid.c, procdata.c: List of supplementary
        groups was not correct. Fixed.
1999-05-06 01:15:44 +00:00
Drazen Kacar
3f65468299 Changed boot time to unsigned long long.
* glibtop_machine.h: Changed boot time to unsigned long long.

        * open.c: Added proper type checking for boot value. There's
        no point in saving a few nanoseconds in init function. And
        one day it will become 64-bit value.

        In glibtop_get_kstats(): Don't reread vminfo_snaptime when
        reinitializing kstats.
1999-05-03 23:02:58 +00:00
Martin Baulig
664d24f258 #include <glibtop_private.h>. 1999-05-03 12:20:21 +00:00
Martin Baulig
f8adb23062 We need to return NULL on error here. 1999-05-03 12:18:41 +00:00
Martin Baulig
a2a4b1d170 Fixed a broken sizeof (). 1999-05-03 12:17:56 +00:00
Drazen Kacar
aa6f26f9fb Fixed typoo.
* glibtop_private.h: Fixed typoo.

        * procmap.c (glibtop_get_proc_map_s): Implemented start, end,
        offset and perm for mapped segments. File name and inode
        should be accessible from bunyip kstat data. The only
        obstacle is that the data format is undocumented and
        possibly not the same accross releases.
1999-05-03 03:40:24 +00:00
Drazen Kacar
fd2ddf8b50 Forgot to commit the file. There's probably more of them arround. 1999-05-03 00:05:38 +00:00
Drazen Kacar
0408c86065 Read pstatus info from /proc
* glibtop_private.h, procdata.c (glibtop_get_proc_signal_s):
        Read pstatus info from /proc

        * procsignal.c (glibtop_get_proc_signal_s): Implemented
        set of pending and blocked signals. The rest should probably
        be read from /proc/<pid>/sigact, but I'm not sure it's
        worth implementing before thread API comes into place.

        * siglist.c: Added Solaris 7 signals. Someone will gettextize
        it eventually. Besides, signal list should become a pointer
        instead of being fixed field. We need some run time initializations.
        The code is written, but commented out.
1999-05-03 00:03:52 +00:00
Drazen Kacar
e1555fc335 Ups, forgot to put prototypes in.
* glibtop_private.h: Ups, forgot to put prototypes in.
1999-05-02 22:11:42 +00:00
Drazen Kacar
75141bdb65 Yet another kstat_chain_update check. Added machine.cpu_stat_kstat[x] =
* open.c (glibtop_get_kstats): Yet another kstat_chain_update
        check. Added machine.cpu_stat_kstat[x] = NULL when processor
        x is not configured.

        * procdata.c (glibtop_get_proc_credentials_s): Read prcred
        structure from /proc.

        * procstate.c (glibtop_get_proc_state_s): Added ruid, rgid,
        has_cpu, processor and last_processor.

        * procuid.c (glibtop_get_proc_uid_s): Added priority, nice,
        suid, sgid, ngroups and groups. The last four will be
        filled only if our process has the authority to read prcred
        structure of another process.

	It's a bit untested for now. :-)
1999-05-02 19:26:24 +00:00
Drazen Kacar
3951c8863f procdata.c: Use pread() instead of read(). 1999-05-02 05:45:21 +00:00
Drazen Kacar
bdc1579a9c added fields for page size, clock ticks and boot time. These are
* glibtop_machine.h: added fields for page size, clock ticks and
        boot time. These are constants. Also added three new kstats.

        * open.c (glibtop_get_kstats): Initialize kstats in *server.
        We need to call this at init time (obviously) and each time
        kstat_chain_update() says that kstat chain has changed. In this
        case all kstat pointers and data are invalid, so we need to
        reinitialize everything.

        (glibtop_open_s): Made it call glibtop_get_kstats(). Added
        initialization for run time constants in struct machine.

        * cpu.c (glibtop_get_cpu_s): Call kstat_chain_update().
        See if processor is on-line and set bits in xcpu_flags.
        Added frequency (bad name, should have been ticks).

        * swap.c (glibtop_get_swap_s): Call kstat_chain_update().
        I probably broke vminfo_snaptime consistency. Fix later.

        * uptime.c (glibtop_get_uptime_s): Implemented uptime and boot_time.
        Still looking for a sane way to get idletime.

        * mem.c (glibtop_get_mem_s): Implemented. Will use bunyip
        module if it's loaded. Or when it gets loaded. kstat_chain_update()
        is our friend. And with a friends like that...

        * loadavg.c (glibtop_get_loadavg_s): Solaris 2.6 code brought
        into sync with everything else.

        * msg_limits.c (glibtop_init_msg_limits_s): Implemented.

        * sem_limits.c (glibtop_get_sem_limits_s): Implemented.

        Solaris takes kernel modularity too seriously. We can't get
        IPC configuration data if the kernel module is not loaded and
        it won't be loaded until some process actually asks for a
        particular IPC resource. There's no way to tell our applications
        about this. Possible API additions?

        All three IPC functions should go into daemon, but I'm keeping
        them in the normal library because I can't build daemon yet. All
        praise 64 bits!
1999-05-02 03:18:32 +00:00
Drazen Kacar
8e1c6601af implemented.
* msg-limits.c: implemented.
1999-04-29 23:54:23 +00:00
Drazen Kacar
1c634bd736 implemented
* sem_limits.c: implemented
1999-04-29 22:57:36 +00:00
Drazen Kacar
2868191440 add field for kvm descriptor.
* glibtop_machine.h: add field for kvm descriptor.

        * open.c: add code for opening kernel name space.

        * shm_limits.c: implemented.

The real implementation will have this code in the daemon, since process
needs to be setgid sys to be able to read kernel symbols.
1999-04-29 20:42:17 +00:00
lukka
a6729d9454 Another typo fix 1999-04-18 14:39:41 +00:00
lukka
57f7039795 Typo fix 1999-04-18 14:31:43 +00:00
Martin Baulig
1cec9b70a2 Thanks to Drazen Kacar for pointing out that not all processors must be
1999-04-18  Martin Baulig  <martin@home-of-linux.org>

	Thanks to Drazen Kacar for pointing out that not all processors must
	be running all the time under Solaris, so we need to have some flag
	to find out which processors are running.

	* (glibtop_cpu): Added `xcpu_flags' bitmask of running processors.
	* (glibtop_proc_time): Added `xcpu_flags'.
1999-04-18 11:47:58 +00:00
Martin Baulig
feab865203 Moved Timur's ChangeLog entry where it belongs. 1999-04-09 14:38:31 +00:00
Martin Baulig
754f09cdad Copied from the Linux sysdeps directory.
1999-04-09  Martin Baulig  <martin@home-of-linux.org>

	* sysinfo.c: Copied from the Linux sysdeps directory.
1999-04-09 14:36:04 +00:00