Re: Bug#2092: procps needs an update for kernels > 1.3.53
> Package: procps
> Kernel 1.3.53 seems to have changed the way memory use is reported (I
> think it reports a new value in /proc/meminfo, "cached:", referring to
> cached VM pages) and also has an internal process "kernel bdflush" that
> has a space in its name. The result is that "top" and "ps" can dump
> core with floating exceptions (divide by 0, I think) or bus errors.
> Patches for ps are floating around on the kernel mailing list.
> 1.3.53 is significantly faster than previous kernels because of page
For most of these problems, patches already can be found on sunsite.
Nevertheless this isn't all we need to cover. psupdate cannot be run on
ELF compiled kernels and really is deprecated when you have access to
the System.map file.
I have sent several patches to the procps maintainer several months ago
and he promised to release a new version RSN. As this didn't happen,
I have put together a procps suite including the patches from sunsite
and some other fixes (e.g. the signal and cmd handling are broken in
procps as well).
As I do not have current ncurses (needed for top and pstree) and the
system should be tested before releasing it, I didn't make
any binary package. The source package procps-test.tar.gz has been
uploaded to ftp.debian.org. THIS IS NO PACKAGE MEANT FOR INSTALLING
right now, please test it and tell me how yopu like it.
The package relies on /boot/System.map existing. This is not currently
done in /sbin/installkernel. Putting
if [ $map ]
cp $map /boot/System.map-$ver
ln -sf System.map-$ver /boot/System.map
into installkernel and removing the psupdate stuff is all you have to do.
There are two versions of top, one the original and a new one, resembling
the kmem top. ps -s has two possible output formats, one the classical
and the changed one as done in kmem-ps.
If you are testing this, please tell me (beside any bugs) about which
signal format for ps and which top you prefer.
>From the CHANGES file of procps:
Changes from 0.97-1.3.53 (more precisely from 0.97) -> current:
By Helmut Geyer (Helmut.Geyer@iwr.uni-heidelberg.de)
snarfed the System.map handling routines from kmem ps 1.2.7 (update_db)
removed unneeded parts from update_db.c and snap.c, as a lot got deprecated
This is needed for ELF kernels that are not readable by psupdate / ps -U
cleaned up the psdatabase routines.
Removed psupdate completely.
fixed the signal and cmd display bugs (in snap.c)
brushed up output format, don't display fuser process.
Added new signal format from kmem ps. (the old one still can be used
when defining OLD_SIG_FMT while compiling).
some minor fixes due to ELF programs behaving differently (e.g. the
SIZE fields are no longer near equivalent, use ps -m for exact info).
I still haven't found a way to do the lrs (shared Library) field when using
ELF. The way it is done for a.outs is not portable to ELF at all.
new top, more like the kmem one, configurable fields, ... run it and
type h for more info.
I like this better (who would've guessed), but it generates higher load,
so YMMV. The old one is still available as oldtop.
some fixes as to ps to make it do something useful when running ELF
programs on a ELF kernels.
Changes from 0.97-1.3.48 -> 0.97-1.3.53:
By: Andrew Kieschnick (email@example.com)
needed changes to /proc/meminfo handling
Changes from 0.97-1.3.39 -> 0.97-1.3.48:
By: ??? (from sunsite)
This patch fixes a 'nice' related bug in procps-0.97-1.3.39, and also get
the signal names from /usr/include/asm/signal.h since this is where they are
in newer kernels.
Changes to 0.97-1.3.39:
By: Henry Shieh (hanky@Henry.Dorm10.nctu.edu.tw)
This patch file is for 256 ptys to let 'ps' show
correct tty info that uses the new pty major number.
Use the shell script "mknewpty" to create 256 ptys
using the new major number.
Changes from 0.97 --> 0.97-1.3.39:
By: Karl Keyte (firstname.lastname@example.org)
o Changed some symbols to get rid of reserved name conflicts
o Changed Makefile to pick up kernel definitions for those
modules which require it. Also changed default optimisation
and binary stripping.
o Changed process default priority default to be consistent
with version 1.3.39
o Added a check to 'fuser.c' to stop it SEGVing
Helmut Geyer Helmut.Geyer@iwr.uni-heidelberg.de