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-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.
* procmap.c: (glibtop_get_proc_map_s):
Small improvements.
Use g_array_sized_new instead of g_array_new with
reserved_size = 100.
Don't use g_array_append_val to avoid copying
glibtop_map_entries. Use g_array_set_size(size + 1) instead.
I've run a little python benchmark and this shows a little
speedup. I hope this would be more sensible in
gnome-system-monitor (glibtop_get_procmap is intensively used for
the 'Writable Memory' column).
* netload.c: (read_value), (linux_2_6_stats), (linux_2_0_stats),
(linux_2_4_stats), (glibtop_get_netload_s): Split implementations.
New (simpler) implementation for 2.6 (/sys is so nice ;)
toplevel configure.in but commited the whole tree. Sorry.
* glibtop_private.c:
* glibtop_private.h:
* proctime.c:
* uptime.c:
Added new function get_boot_time.
Retrieve boot_time from /proc/stat.
* loadavg.c: (glibtop_get_loadavg_s):
* uptime.c: (glibtop_get_uptime_s): Fixed behaviour when locale is not C
s/strtod/g_ascii_strod/. (strtod behaviour is locale specific, which is bad
because linux /proc is always C.
* procopenfiles.c: (parse_file), (get_all), (inet_socket_parser),
(get_all_inet_sockets), (local_socket_parser),
(get_all_local_sockets), (glibtop_get_proc_open_files_s): Total rewrite.
socket/localsocket should be much faster.
* fsusage.c: (get_partition), (get_sys_path), (linux_2_6_0): Reworked.
Should works with IDE, SCSI. DM support is ready, but i don't know why
their /stat is empty ...
* netload.c: (get_ipv6), (glibtop_get_netload_s): Added a check for NULL
pointer when wlaking though interfaces (though i don't understand why some
interface don't have an ifa_addr).
Move all ipv6 code into a separate function. Added a paranoid check on
getifaddrs.
* glibtop_server.c:
* glibtop_server.h:
* procmem.c: (glibtop_get_proc_mem_s):
* procsegment.c: (glibtop_get_proc_segment_s): Removed get_pageshift().
Every one can affort a * instead of a >>, no need for this kind of
non-reentrant optimization. Saved 144B (obviously perfect cleanup ;)
* fsusage.c: (_glibtop_get_fsusage_read_write),
(glibtop_get_fsusage_s):
* mountlist.c: (glibtop_get_mountlist_s): Back to previous version.
* fsusage.c: (linux_2_6_0), (linux_2_4_0),
(_glibtop_linux_get_fsusage_read_write): Back to previous version.
Now set .flags correctly.
* glibtop_server.h: Added next_token(). Changed skip_token(),
i hope it won't break any bad code.
* procstate.c: (glibtop_get_proc_state_s): Used next_token.
* proctime.c: (glibtop_get_proc_time_s): Implemented .start_time
the way it ought to be. Clean ups.