do_brk() trace mystery

From: sting sting
Date: Fri Mar 12 2004 - 14:48:26 EST


Hello,
for debugging purpoese I had used the strace utilitty.
The command I had traced with starce was
"cat /proc/interrupts".

Well , I saw that there were not a few calls to the brk() system calls.

What I know is the brk() is a system call that is intended to enlarge procees
memory and is supposed to be called by the memory manager when sensing
that a process needs more memory.

But I did a search on the kernel tree fo do_brk()
and I found only 5 entries (in 2.6 kernel and also in 2.4.24).
One of the was the declaration in mm.h; the other was
implementation in mmap.c


Now the 2 others were in binfmt_out.c and in binfmt_elf.c

(in 2.4.20 it is also in ksyms.c ; in 2.6 it is not but it is in mm/nommu.c)


So the mystery is : who calls the brk() system call when I type
"cat /proc/interrupts"

It does not seem to me that it is binfmt_out.c and in binfmt_elf.c (Or am I wrong)?


(BTW,searching for sys_mmap gives 2 results:
\linux-2.4.24\arch\i386\kernel\sys_i386.c
and the entry.s file)


regards,
Sting

_________________________________________________________________
Add photos to your messages with MSN 8. Get 2 months FREE*. http://join.msn.com/?page=features/featuredemail

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/