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] |  |