e9b3916bd6
getpagesize() to size_t. For some reason getpagesize() is defined to return int, and several of the page counts we get come back from the kernel as int32_t; in LP64 without the cast the byte count will be computed in a 32-bit value and for large processes will overflow and become negative... and then remain negative when divided by 1024 to convert to kilobytes. Fixes a problem I hit the other day where I saw negative RSS, which turns out also to be PR 40642. Note: other logic in here will break down when we first get >2TB processes... and int32 page counts will break on >8TB processes. But hopefully we won't see any of that for a few years yet. |
||
---|---|---|
.. | ||
Makefile | ||
extern.h | ||
fmt.c | ||
keyword.c | ||
nlist.c | ||
print.c | ||
ps.1 | ||
ps.c | ||
ps.h |