Messages in this thread | | | From | Torsten Foertsch <> | Subject | Problem with smaps in 2.6.13-rc4-mm1 | Date | Sat, 6 Aug 2005 09:15:22 +0200 |
| |
Hi,
when trying out smaps I have encountered the following problem:
> cat /proc/$P/smaps | diff - /proc/$P/smaps 239,241c239,241 < bfbaf000-bfbc4000 rw-p bfbaf000 00:00 0 [stack] < Size: 84 kB < Rss: 24 kB --- > b7fc4000-b7fc6000 rwxp 00015000 08:02 12558 /lib/ld-2.3.4.so > Size: 8 kB > Rss: 8 kB 245c245 < Private_Dirty: 24 kB --- > Private_Dirty: 8 kB
Further investigation shows that diff reads /proc/$P/smaps in 1 kB blocks as do cat if stdout is a terminal. But if stdout is a pipe cat reads the file in 128 kB blocks.
The culprit is probably fs/proc/task_mmu.c:m_start(). I think it doesn't properly convert the current file position.
Reading in blocks up to 3700 bytes yields the correct result. Higher block sizes are wrong.
Is that a known problem?
Torsten [unhandled content-type:application/pgp-signature] | |