Commit Graph

756 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
Robert Roth
47bcd423b5 Linux cpuinfo count fixed for SMP PPC processors (bgo #621831)
libgtop processor count has been simply determined by the number
of sections in /proc/cpuinfo split by \n\n. On PPC processors
supporting SMP after the per-cpu description for each core a
new section is listed (after \n\n) with the common attributes
of the cores [1]. Work around this by only counting a section
as describing a CPU if it contains "processor" to fix bug #621831 [0]
[0] https://bugzilla.gnome.org/show_bug.cgi?id=621831
[1] https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git/tree/arch/powerpc/kernel/setup-common.c?id=9fc2105aeaaf56b0cf75296a84702d0f9e64437b#n319
2013-12-09 04:02:38 +02:00
Robert Roth
3147bf2e34 Log error on statvfs failure.
When doing stat on a FS and failing, log the error message based
on the errno set to help the user find the reason.
https://bugzilla.gnome.org/show_bug.cgi?id=685172
2013-12-09 01:57:01 +02:00
Antoine Jacoutot
2506662196 OpenBSD: add missing header
netinet6/in6_var.h is not included automatically  anymore from netinet/in_var.h
on OpenBSD, so explicitely #include <netinet6/in6_var.h>.
2013-10-16 17:09:16 +02:00
Robert Roth
2c08229f04 Merge remote-tracking branch 'origin' into wip/libgtop-ng 2013-08-30 07:34:15 +03:00
Tristan Hill
753d9abb13 proclist, procarg and proctime gtkdoc updates
Added gtkdoc for proclist, procarg and proctime.

Author:    Tristan Hill <stan@saticed.me.uk>

https://bugzilla.gnome.org/show_bug.cgi?id=616082
2013-08-30 07:31:31 +03:00
Robert Roth
af7e9cd1b6 Increased buffersize to be able to hold larger cpuinfo files (bgo #681632) 2013-08-22 01:48:12 +03:00
Jasper Lievisse Adriaanse
7a4b2d91ad unbreak after swapin and swapout were removed from OpenBSD uvm statistics. 2013-05-29 20:59:23 +02:00
Jasper Lievisse Adriaanse
dc7eab4329 Adjust for the fact that regular users cannot read wchan anymore in OpenBSD 5.4. 2013-04-01 13:40:11 +02:00
Cole Robinson
37774dc02d fsusage: Fix fetching rootfs stats on Fedora 17
When fsusage scans mtab, it matches on the first entry, but since 'rootfs'
isn't of the expected format '/dev/<blah>' it bails out.

Match early on any rootfs entries and skip them.

Fixes #685897
2013-01-28 23:02:04 +01:00
Jasper Lievisse Adriaanse
31cbc3374d sysctl.h on OpenBSD no longer pulls in proc.h. 2012-12-18 22:47:09 +01:00
Jasper Lievisse Adriaanse
b0f4bee85e sync with openbsd to use the new vmmap memory allocator 2012-04-04 19:23:07 +02:00
Kjartan Maraas
46c1169ab1 Add missing #include <config.h> 2012-01-23 21:28:10 +01:00
Antoine Jacoutot
b11aa1517e OpenBSD: kinfo_proc2 -> kinfo_proc
The kinfo_proc2 interface has been removed from OpenBSD (it was
deprecated anyway), so use the correct replacement: kinfo_proc.

https://bugzilla.gnome.org/show_bug.cgi?id=667591
2012-01-22 12:47:49 +01:00
Jasper Lievisse Adriaanse
dd46d6a00e Don't bother with PIDs below 20 as they are highly likely to be kernel threads anyway. 2011-09-18 13:42:13 +02:00
Jasper Lievisse Adriaanse
7bd52fc397 Extend comment a bit regarding processes dying before we get to kvm_getproc2(). 2011-09-18 13:41:20 +02:00
Marc-Andre Laperle
d1d565aa60 Fix Darwin support
glibtop_get_proclist_p's signature didn't match the headers prototype.

https://bugzilla.gnome.org/show_bug.cgi?id=556904
2011-09-08 09:26:58 +02:00
Jasper Lievisse Adriaanse
08ac661b19 Apply a fix from the OpenBSD backend by using the same type to store the
temporary amounts of swap, as is used in the struct that's eventually used
to export it.
2011-08-30 17:52:40 +02:00
Petr Salinger
1baa3fcc6a kFreeBSD 8.0 build fix
fixes a couple of checks for kFreeBSD 8.0.
https://bugzilla.gnome.org/show_bug.cgi?id=608518
2011-08-30 17:00:18 +02:00
Thomas Klausner
eaff15b741 NetBSD-5.99.21 lost struct uvmexp.swap{ins,outs}
In NetBSD-5.99.21, the uarea swap-out functionality was removed, which also
removed two members from struct uvmexp, swapins and swapouts.
2011-08-30 14:44:43 +02:00
Jasper Lievisse Adriaanse
4c9a161eb5 ansify function declaration, no binary change. 2011-07-11 15:05:06 +02:00
Jasper Lievisse Adriaanse
32833323d9 Some OpenBSD cleaning:
- decrease stack usage when retrieving memory stats
- use consistent warnings when failing sysctl(3) calls

https://bugzilla.gnome.org/show_bug.cgi?id=654344
2011-07-11 14:57:55 +02:00
Jasper Lievisse Adriaanse
0de702b142 - implement GLIBTOP_MEM_CACHED on OpenBSD by retrieving buffercache stats 2011-07-10 16:44:42 +02:00
Jasper Lievisse Adriaanse
4e24854dbf Two small tweaks to the OpenBSD backend:
- correct sysctl names in two warning messages
- rename a few variables for clarity
2011-07-09 10:19:18 +02:00
Joe Marcus Clarke
08fd95d253 Fix numerous bigs in the FreeBSD backend
* Correct calculation of CPU time.
* Fix a bug on newer versions of FreeBSD where computing the process map leads
to a tight error loop.
* Add support for the new procstat API to obtain the list of open files and
cwd.
* Use kvm_openfiles instead of kvm_open to better handle error messages.
* Split some modules out into non-suid modules.
* Properly determine the number of CPUs.

https://bugzilla.gnome.org/show_bug.cgi?id=605431
2011-06-27 16:32:20 +02:00
Jasper Lievisse Adriaanse
aa1a6766f2 Fix hardware address retrieval on OpenBSD.
https://bugzilla.gnome.org/show_bug.cgi?id=652997
2011-06-22 17:26:55 +02:00
Jasper Lievisse Adriaanse
537dc1bff1 Fix scope6 and prefix6 retrieval on OpenBSD.
https://bugzilla.gnome.org/show_bug.cgi?id=652997
2011-06-22 17:26:38 +02:00
Jasper Lievisse Adriaanse
93829c8cbb Fix filesystem read/write accounting on OpenBSD
https://bugzilla.gnome.org/show_bug.cgi?id=652980
2011-06-22 17:24:37 +02:00
Jasper Lievisse Adriaanse
62239cfe50 Explain why we undef STAT_STATVFS on OpenBSD 2011-06-16 13:14:22 +02:00
Jasper Lievisse Adriaanse
15ffb2d039 Revert vmmap-based procmap.c for OpenBSD.
vmmap was reverted in OpenBSD, so stick to the old algorithm for now.
2011-06-16 13:03:24 +02:00
Jasper Lievisse Adriaanse
7f14f4409d Various tweaks for OpenBSD uptime calculation
- implement uptime.boot_time
- put CP_IDLE instead of 0 in uptime->idletime
2011-06-16 13:02:11 +02:00
Jasper Lievisse Adriaanse
f8c573b78c Silence various warnings in the OpenBSD code 2011-06-16 13:00:47 +02:00
Jasper Lievisse Adriaanse
49641cc363 Make CPU load retrieval work.
It would sort of work on 64 bits arches, and not work at all no 32 bit arches.
Now works on both, and take CP_INTR correctly into account.
2011-06-16 12:57:43 +02:00
Jasper Lievisse Adriaanse
46706961ac Split off OpenBSD code into a separate implementation
Move OpenBSD code into its own sysdeps directory. The changes from
bsd/ were becoming to hard to maintain as a #ifdef tree. This is
what's currently being distributed as part of OpenBSD ports.
2011-06-16 12:27:00 +02:00
Yaakov Selkowitz
3cc7b3aecb Cygwin: Add private mountlist support.
https://bugzilla.gnome.org/show_bug.cgi?id=621820
2010-11-28 15:46:33 +01:00
Yaakov Selkowitz
f7e1ab5a0e Cygwin: Don't printf a string directly but use %s instead
Based on commit f41ab3beed for Linux.

https://bugzilla.gnome.org/show_bug.cgi?id=621820
2010-11-28 15:39:34 +01:00
Alexander Kojevnikov
f787bfa0c7 freebsd: Fix get_mem() on 64-bit systems (bgo#630128) 2010-10-03 10:17:58 +11:00
Christian Persch
f41ab3beed Don't printf a string directly but use %s instead
Bug #581725.

Signed-off-by: Benoît Dejean <benoit@placenet.org>
2009-05-08 14:22:17 +02:00
Benoît Dejean
2679fdde9a Killed debug message. 2009-05-03 19:46:00 +02:00
Benoît Dejean
2458096acf Oops, fix segfault in linux/proc_map.
I've commited the wrong patch, got lost in the svn->git change.
2009-05-03 19:41:22 +02:00
Benoît Dejean
d99a29d217 Looks for smaps member using a gperf table instead of using
bsearch.
Brings a 25% boost.
2009-05-03 16:40:13 +02:00
Benoît Dejean
62bafe804e Don't use sscanf anymore when parsins smaps.
That's more code but it brings a 20% speed improvement.
2009-05-03 16:25:31 +02:00
Benoît Dejean
9f051c9569 Added cygwin support.
Patch by Cygwin Ports maintainer <yselkowitz@users.sourceforge.net>.
See #578890.
2009-04-30 20:55:15 +02:00
Benoît Dejean
3d9f260bd4 Always ignore "none" FS type.
See #577537.

svn path=/trunk/; revision=2816
2009-03-31 22:31:48 +00:00
Benoît Dejean
7e697f047a Missing file.
svn path=/trunk/; revision=2805
2009-02-16 23:13:00 +00:00
Benoît Dejean
d541cf22ef r2792 | bdejean | 2009-01-12 22:05:48 +0100 (lun 12 jan 2009) | 4 lines
Fixed Darwin build.
Patch by "paul" <ephraim_owns@hotmail.com>.
See #556904.

svn path=/trunk/; revision=2802
2009-02-16 22:57:54 +00:00
Benoît Dejean
35a0ac4f2c r2790 | bdejean | 2009-01-12 19:39:44 +0100 (lun 12 jan 2009) | 3 lines
Fixed read(2) usage.
Closes #468495.

svn path=/trunk/; revision=2801
2009-02-16 22:57:05 +00:00
Benoît Dejean
77fff173fc Fixed potential memory leak.
Patch by Vincent Untz <vuntz@gnome.org>.
Closes #566611.

svn path=/trunk/; revision=2787
2009-01-08 00:37:59 +00:00
Benoît Dejean
23798fbd51 Single glib.h include.
Closes #557826.

svn path=/trunk/; revision=2785
2008-11-07 23:58:43 +00:00
Benoît Dejean
10a04fc9c7 Improved freebsd port.
Patch by Joe Marcus Clarke <marcus@freebsd.org>.
Closes #548184.

svn path=/trunk/; revision=2767
2008-08-18 16:11:07 +00:00