Commit Graph

299 Commits

Author SHA1 Message Date
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
Timur Bakeyev
fac354623b Added initial port for BSD/OS (aka BSDI) 2.x and 3.x. 4.x should also(?)
Thu Apr  8 23:47:29 1999  Timur Bakeyev  <timur@gnu.org>

 	* cpu.c, mem.c, netload.c, procargs.c, procstate.c, proctime.c,
 	sem_limits.c, shm_limits.c, swap.c: Added initial port for BSD/OS
	(aka BSDI) 2.x and 3.x. 4.x should also(?) work.

	Still, this port require more close look and extended check.
1999-04-08 20:21:38 +00:00
Martin Baulig
5967e6c3e4 Copied from Linux sysdeps directory. 1999-04-05 12:55:56 +00:00
Martin Baulig
174f316a62 Added implementation for netload.c (glibtop_netload). 1999-04-05 12:53:00 +00:00
Martin Baulig
30af079f99 Added implementation for procmap.c (glibtop_proc_maps). 1999-04-03 22:55:42 +00:00
Martin Baulig
5b946cb261 Added support for command line arguments (glibtop_proc_args). 1999-04-03 17:07:09 +00:00
Martin Baulig
01d728ac6b Reflect latest `proc_state.state' changes. 1999-04-01 10:33:13 +00:00
Martin Baulig
868e1677e3 Added implementation for the newly added features. 1999-03-31 17:40:36 +00:00
Martin Baulig
ede4594dd9 Added some new features.
1999-03-30  Martin Baulig  <martin@home-of-linux.org>

	Added some new features.

	* (glibtop_uptime): Added `boot_time', boot time in seconds
	since the epoch.

	* (glibtop_proc_state): Changed `state' from char to unsigned.
	`uid' and `gid' are effective uid and gid; added comment.
	Added `ruid' and `rgid' for guaranteed-to-be-correct real uid/gid.
	For SMP systems: added `has_cpu', `processor' and `last_processor'.

	* (glibtop_proc_uid): Added suid, sgid, fsuid, fsgid, ngroups, groups.

	* (glibtop_proc_segment): Added start_data, end_data, start_brk,
	end_brk, start_mmap, arg_start, arg_end, env_start, env_end.

	* include/glibtop/procstate.h: Define some constants for the `state'
	field of glibtop_proc_state.

	* include/glibtop/prockernel.h: Define some constands for the
	`k_flags' field of glibtop_proc_kernel.
1999-03-31 16:53:05 +00:00
Drazen Kacar
3a7f02352a make it work with Solaris 2.6 and older. A part of it should be moved to
1999-03-31  Drazen Kacar  <dave@srce.hr>

        * loadavg.c: make it work with Solaris 2.6 and older. A part
        of it should be moved to open.c.
1999-03-31 07:48:37 +00:00
Martin Baulig
e2cb4ed031 Changed indentation (-bad -br -ce -i4):
tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4
1999-03-30 14:29:38 +00:00