Commit Graph

33 Commits

Author SHA1 Message Date
Jason Xing
efaaf6eb77 Extending the cpu number from 32 to 1024 (bgo #323354, bgo #681632)
From: Jason Xing <xinggang861@gmail.com>

In 'Bug 323354 - Support a dynamic number of CPUs', there will be a
solution which can dynamically allocate memory for large number of
CPUs. As libgtop supports multiple operating systems, this work
may take some time.

This patch is a temporary patch, which worked before the whole
solution comes out. It only supports linux platform with CPU number
up to 1024.

There are two Macroes which limit the statistics of CPU. One is
GLIBTOP_NCPU. The other is a buffer size. This buffer used to read
/proc/stat contents into.

https://bugzilla.gnome.org/show_bug.cgi?id=323354
https://bugzilla.gnome.org/show_bug.cgi?id=681632
2013-12-12 22:36:10 +02:00
Benoît Dejean
871f300a2c Added a bufsiz argument to file_to_buffer().
Increased read buffer size in get_sysinfo().

svn path=/trunk/; revision=2637
2007-08-26 16:05:36 +00:00
Benoît Dejean
04a5531a46 Removed noisy $Id$.
2007-02-20  Benoît Dejean  <benoit@placenet.org>

	* *:
	
	Removed noisy $Id$.

svn path=/trunk/; revision=2558
2007-02-19 23:10:10 +00:00
Benoît Dejean
610c0071cc Only print the warning if (number of real cpu's) != (number of cpu's
2006-08-10  Benoît Dejean  <benoit@placenet.org>

	* open.c: (glibtop_open_s):

	Only print the warning if
		(number of real cpu's) != (number of cpu's monitored).
	Patch by Wouter Bolsterlee (uws) <uws+gnome@xs4all.nl>.
	Closes #350705.
2006-08-10 11:21:39 +00:00
Benoît Dejean
d497c25081 New has_sysfs function to avoid stating over and over '/sys' on each
2006-07-27  Benoît Dejean  <benoit@placenet.org>

        * glibtop_private.c: (has_sysfs):
        * glibtop_private.h:
        * netload.c: (glibtop_get_netload_s):
        * open.c: (set_linux_version):

        New has_sysfs function to avoid stating
        over and over '/sys' on each netload call.
2006-07-27 09:23:32 +00:00
Benoît Dejean
e296c3a37a Implemented server->real_ncpu. Add a warning to display ncpu and real_ncpu
* open.c: (glibtop_open_s):

	Implemented server->real_ncpu.
	Add a warning to display ncpu and real_ncpu on open.
2005-12-14 10:53:53 +00:00
Benoît Dejean
806a816026 Fixed server->ncpu usage (SMP handling). Need more testing.
* cpu.c: (glibtop_get_cpu_s):
	* glibtop_private.c: (get_scaled), (check_cpu_line):
	* glibtop_private.h:
	* open.c: (glibtop_open_s):
	* proctime.c: (glibtop_get_proc_time_s):

	Fixed server->ncpu usage (SMP handling). Need more testing.
2005-12-13 09:15:49 +00:00
James Henstridge
aa5ac8fc10 remove unused file.
2005-12-12  James Henstridge  <james@jamesh.id.au>

	* doc/auto-macros.texi.in: remove unused file.

	* doc/libgtop2.texi: don't include auto-macros.texi.

	* doc/Makefile.am: don't build auto-macros.texi, since none of its
	macros are used in the documentation any more.

	* include/glibtop/global.h: don't include <config.h> from headers.

	* .../*.c: make sure <config.h> is the first thing included.

	* acinclude.m4: m4_include() libgtop-sysdeps.m4 rather than
	inlining it.

	* acinclude.m4, libgtop-sysdeps.m4: use third argument to
	AC_DEFINE() to set the comment.

	* configure.in: modernise a bit.

	* acconfig.h: remove file, since it is deprecated

	* autogen.sh: require automake 1.9 instead of 1.4.
2005-12-12 09:38:15 +00:00
Benoît Dejean
708285f0d2 Reworked a bit. Warn on 2.6 without /sys.
* open.c: (set_linux_version), (glibtop_open_s):

	Reworked a bit.
	Warn on 2.6 without /sys.
2005-08-03 22:39:17 +00:00
Benoît Dejean
2fa0dc1cd8 Added Added Removed
* Makefile.am:
	* cpu.c:
	* fsusage.c:
	* glibtop_private.c: (get_scaled), (try_file_to_buffer),
	(file_to_buffer): Added
	* glibtop_private.h: Added
	* glibtop_server.c: Removed
	* glibtop_server.h:
	* loadavg.c:
	* mem.c:
	* netload.c:
	* open.c:
	* prockernel.c:
	* procmem.c:
	* procsegment.c:
	* procsignal.c:
	* procstate.c:
	* proctime.c:
	* procuid.c:
	* swap.c:
	* sysinfo.c:
	* uptime.c: Moved linux impl utils function from glibtop_server.* to
	glibtob_private.* because glibtop_server.h is a public header.
2004-11-28 01:32:55 +00:00
Benoît Dejean
35488aef90 bumped to 2.8.1.
* configure.in: bumped to 2.8.1.

	* sysdeps/common/fsusage.c:
	* sysdeps/common/gnuslib.c: (glibtop_make_connection),
	(connect_to_unix_server), (glibtop_internet_addr):
	* sysdeps/linux/glibtop_server.c: (get_pageshift):
	* sysdeps/linux/glibtop_server.h:
	* sysdeps/linux/open.c: (glibtop_open_s):
	* sysdeps/linux/ppp.c: (is_ISDN_on): Cleanups. Thanks to Kjartan Maraas.
	Closes #151557.
2004-09-13 15:21:54 +00:00
Benoît Dejean
bfc14a1925 Added to repository. WIP.
* Makefile.am:
	* fsusage.c: (linux_2_6_0), (linux_2_4_0),
	(_glibtop_linux_get_fsusage_read_write): Added to repository. WIP.


	* glibtop_server.h: LINUX_VERSION -> LINUX_VERSION_CODE

	* netload.c: (glibtop_get_netload_s): Cleanups. Added support for
	hardware address. s/LINUX_VERSION/LINUX_VERSION_CODE/

	* open.c: (get_linux_version): s/LINUX_VERSION/LINUX_VERSION_CODE/

	* procmap.c: (glibtop_get_proc_map_s): glibify: used GArray

	* procuid.c: (glibtop_get_proc_uid_s): s/LINUX_VERSION/LINUX_VERSION_CODE/.
	Used Linux MKDEV.
2004-07-17 12:01:24 +00:00
Benoît Dejean
50f086cb68 Added. These functions are commonly used. Misc cleanups.
* glibtop_server.h:
	* glibtop_server.c: (try_file_to_buffer), (file_to_buffer): Added. These
	functions are commonly used. Misc cleanups.

	* cpu.c: (glibtop_get_cpu_s):
	* loadavg.c: (glibtop_get_loadavg_s):
	* mem.c: (glibtop_get_mem_s):
	* open.c: (glibtop_open_s):
	* swap.c: (glibtop_get_swap_s):
	* sysinfo.c: (init_sysinfo):
	* uptime.c: (glibtop_get_uptime_s): Replaced open/read/close by file_to_buffer().
2004-07-03 13:28:59 +00:00
Benoît Dejean
5af13a2a6a Cleaned whitespaces.
* cpu.c: (glibtop_get_cpu_s): Cleaned whitespaces.

	* open.c: (get_linux_version), (glibtop_open_s): Removed get_linux_version()
	Cleaned. Remove static struct utsname.
2004-05-26 16:52:32 +00:00
Benoît Dejean
0cdaaf1f62 Moved LINUX_VERSION macro to glibtop_server.h.
* glibtop_server.h:
	* open.c:
	* procuid.c: Moved LINUX_VERSION macro to glibtop_server.h.

	* Changelog: Converted to UTF-8.
2004-05-26 11:51:09 +00:00
Benoît Dejean
0de7c96d2a Added test for end of string. (get_scaled): Cleaned.
* glibtop_server.h (skip_line): Added test for end of string.
        (get_scaled): Cleaned.

        * cpu.c (glibtop_get_cpu_s):
        * open.c (glibtop_open_s): Fixed SMP detection. Closes #142597.
        * uptime.c (glibtop_get_uptime_s): Added boot_time.
2004-05-25 14:33:46 +00:00
Carlos Perelló Marín
4c8ae9e25c Reverted libgtop changes. It's a common module and I should not modify it.
2003-10-19  Carlos Perelló Marín <carlos@gnome.org>

	* support/*: Reverted libgtop changes. It's a common module
	and I should not modify it.
	* Added/removed files. Now the move should be done.
2003-10-19 16:55:56 +00:00
Martin Baulig
7a7c6baf55 Moved all sysdeps code to the new libgtop-backends module.
2001-04-20  Martin Baulig  <baulig@suse.de>

	Moved all sysdeps code to the new libgtop-backends module.

	* sysdeps/freesd/*: Removed.
	* sysdeps/kernel/*: Removed.
	* sysdeps/linux/*: Removed.
	* sysdeps/osf1/*: Removed.
	* sysdeps/solaris/*: Removed.
	* sysdeps/stub/*: Removed.
	* sysdeps/stub_suid/*: Removed.
	* sysdeps/sun4/*: Removed.
2001-04-20 21:06:35 +00:00
Martin Baulig
aac46b6daf *** empty log message *** 2001-04-20 15:48:09 +00:00
Martin Baulig
f1a6e1ead8 The indentation in LibGTop was done with the following command:
find . -name \*.[ch] | xargs -i emacs -batch {} \
		-l /gnome/compile/libgtop/misc/format.el -f save-buffer

December 26, 1999
Martin
1999-12-26 14:05:32 +00:00
Martin Baulig
cf611f9157 Set the copyright of LibGTop to the GNU General Public License.
1999-02-22  Martin Baulig  <martin@home-of-linux.org>

	Set the copyright of LibGTop to the GNU General Public License.

	* copyright.txt: Set the year to 1998-99 and pretty-format it a
	little bit. Same in all C source and header files.
1999-02-23 11:47:35 +00:00
Martin Baulig
ce4f660965 Include a copy of the GNU Library General Public License here.
1999-02-22  Martin Baulig  <martin@home-of-linux.org>

	* COPYING.LIB: Include a copy of the GNU Library General
	Public License here.

	* copyright.txt: Set the year to 1998-99 and pretty-format it a
	little bit. Same in all C source and header files.
1999-02-22 16:19:36 +00:00
Martin Baulig
e491343151 Unconditionally enable SMP support for linux.
1999-01-06  Martin Baulig  <martin@home-of-linux.org>

	Unconditionally enable SMP support for linux.

	* open.c (_glibtop_open_s): Always determine the number of CPUs
	we have here, not only when SMP support was enabled.

	* cpu.c, proctime.c: Use `server->ncpu' to determine whether to
 	enable SMP support.
1999-01-06 19:26:45 +00:00
Martin Baulig
cf0e724f7d Removed G_GNUC_UNUSED. 1998-10-06 09:04:27 +00:00
Martin Baulig
afb07a1f8b More G_GNUC_UNUSED fun. 1998-10-04 13:27:51 +00:00
Martin Baulig
9d564134de Initialize `ncpu' on SMP systems.
1998-09-09  Martin Baulig <baulig@Stud.Informatik.uni-trier.de>

	* open.c (glibtop_init_s): Initialize `ncpu' on SMP systems.

	* cpu.c (glibtop_get_cpu_s): Added SMP support.

	* ChangeLog: New file.
1998-09-09 15:17:12 +00:00
Martin Baulig
5e97af535f Summary of this long ChangeLog:
* Splitted `libgtop_sysdeps.la' into `libgtop_sysdeps.la' and
   `libgtop_sysdeps_suid.la'.

   Everything that needs to be suid/sgid is in `libgtop_sysdeps_suid.la'
   and the rest in `libgtop_sysdeps.la'.

   The functions from `libgtop_sysdeps_suid.la' have the `_p' prefix and
   the ones from `libgtop_sysdeps.la' the `_s' prefix.

   The suid library uses `glibtop_open_p' and `glibtop_close_p', the
   normal one `glibtop_init_s' (found in lib/init.c), `glibtop_open_s'
   and `glibtop_close_s'.

 * Added `libgtop_suid_common.la' containing stuff from sysdeps/common
   that is required from the suid server (currently everything from
   error.c and xmalloc.c).

   This means, we can add some more stuff to `libgtop_common.la' without
   the risk that it may be dangerous in the suid server.

 * The ``library order'' is much clearer now:

   -> `libgtop.la' (from lib/) contains user-level stuff;
      all functions except `glibtop_init_r' have the `_l'
      suffix.

   -> `libgtop_common.la' (from sysdeps/common/) contains stuff
      that is common among the sysdeps directories.
      use anything from `libgtop_sysdeps.la' and
      `libgtop_sysdeps_suid.la'.

   -> `libgtop_sysdeps.la' (from sysdeps/<sysdeps_dir>/) contains
      everything from the sysdeps directory that doesn't need to
      be suid/sgid.

   -> `libgtop_suid_common.la' (from sysdeps/common/) is used from
      the suid server instead of `libgtop_common.la'.

   -> `libgtop_sysdeps_suid.la' (from sysdeps/<sysdeps_dir>/) contains
      everything from the sysdeps directory that needs to be in the
      suid server.

 * To summarize: the server is linked only with functions that need
   to be suid and everything else is linked only with functions that
   do not need to be suid.

Martin

1998-07-22  Martin Baulig  <martin@home-of-linux.org>

	* lib/init.c (glibtop_init_s): Added this init function of
	the sysdeps directory `libgtop_sysdeps.la'.

	* lib/open.c (glibtop_open_l): Unconditionally calling
	`glibtop_init_s' after server initialization.

	* lib/lib.awk: Removed references to functions from
	`libgtop_sysdeps_suid.la' to avoid undefined symbols.

	* sysdeps/stub/open.c (glibtop_open_s): Renamed this
	function from `glibtop_open_r'.

	* sysdeps/stub/close.c (glibtop_close_s): Renamed this
	function from `glibtop_close_l'.

	* sysdeps/kernel/open.c (glibtop_open_s): Renamed this
	function from `glibtop_open_r'.

	* sysdeps/kernel/close.c (glibtop_close_s): Renamed this
	function from `glibtop_close_l'.

	* sysdeps/linux/open.c (glibtop_open_s): Renamed this
	function from `glibtop_open_r'.

	* sysdeps/linux/close.c (glibtop_close_s): Renamed this
	function from `glibtop_close_l'.

	* sysdeps/osf1/Makefile.am (lib_LTLIBRARIES): Added
	`libgtop_sysdeps_suid.la' for the suid server.

	* sysdeps/osf1/open_suid.c (glibtop_open_p): New file.
	Contains all stuff that was formerly in `open.c'.

	* sysdeps/osf1/open.c: Moved everything from here into
	the new file `open_suid.c'.

	* sysdeps/osf1/open.c (glibtop_open_s): New function.

	* sysdeps/osf1/close_suid.c (glibtop_close_p): New file.

	* sysdeps/osf1/close.c (glibtop_close_s): New function.

	* sysdeps/osf1/*.c: Using the new init, open and close
	functions.

	* sysdeps/sun4/Makefile.am (lib_LTLIBRARIES): Added
	`libgtop_sysdeps_suid.la' for the suid server.

	* sysdeps/sun4/nosuid.c (glibtop_open_s, glibtop_close_s): New file

	* sysdeps/sun4/*.c: All functions now have the `_p' suffix.

	* sysdeps/common/Makefile.am (lib_LTLIBRARIES): Added
	`libgtop_suid_common.la' which only contains stuff that is
	needed in the suid parts.

	* sysdeps/common/xmalloc.c: Using `glibtop_error_io_r' instead
	of `glibtop_error_r'.

	* sysdeps/{kernel, linux, osf1, sun4, stub}/init.c: Removed.
	`glibtop_init_s' has been moved into `lib/init.c' since it's the
	same in all the sysdeps directories.

	* src/server/main.c: It is now an error to request a feature that
	does not need the suid server.

	* src/proxy: Removed.
1998-07-22 09:26:43 +00:00
Martin Baulig
ef693a93bc Doing correct server initialization using `glibtop_set_parameter_l' and
1998-07-14  Martin Baulig  <martin@home-of-linux.org>

	* src/daemon/gnuserv.c: Doing correct server initialization
	using `glibtop_set_parameter_l' and `glibtop_init_r'.

	* src/daemon/main.c: Removed call to `glibtop_init_r'.

	* lib/open.c (glibtop_open_l): We now call the open function
	of the sysdeps directory (glibtop_open_r) for server method
	`GLIBTOP_METHOD_DIRECT'.

	* sysdeps/{linux, sun4, stub}/open.c: No longer `memset'
	server to zero.
1998-07-14 08:36:23 +00:00
Martin Baulig
49adb94af0 Only changed indentation. 1998-07-13 22:34:23 +00:00
Martin Baulig
c84923132a Using single underscore instead of two underscores for function prefixes
1998-06-07  Martin Baulig  <martin@home-of-linux.org>

	* *.[ch]: Using single underscore instead of two underscores
	for function prefixes (regexp: ``s,__([rspl])\b,_$1,g'') to
	avoid ambiguity with mangled C++ names.
1998-06-07 13:57:45 +00:00
Martin Baulig
f233a1673f renamed to `glibtop_open__r'.
* sysdeps/linux/open.c (glibtop_open): renamed to
`glibtop_open__r'.
1998-06-02 19:41:29 +00:00
Martin Baulig
2546fa37eb changed call of 'glibtop_init__r', it now takes two additional arguments.
* sysdeps/linux/*.c: changed call of 'glibtop_init__r',
it now takes two additional arguments.
1998-06-01 15:21:19 +00:00
Martin Baulig
33cdc01c1d Initial revision 1998-05-19 18:19:50 +00:00