System call trace

2012-02-15 Thread Swapnil Gaikwad
Can we see trace of how the system call works?
What are the functions are called in kernel space?
For example we want to trace cp command. Then what are the functions
is get called by that in kernel space? like how the inode allocation
take place for new destination file etc.
Is any tool for that?


-- 
Regards,

Swapnil Gaikwad.

___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


Re: System call trace

2012-02-15 Thread Alexandru Juncu
On Wed, Feb 15, 2012 at 4:38 PM, Swapnil Gaikwad
swapnilgai...@gmail.com wrote:
 Can we see trace of how the system call works?
 What are the functions are called in kernel space?
 For example we want to trace cp command. Then what are the functions
 is get called by that in kernel space? like how the inode allocation
 take place for new destination file etc.
 Is any tool for that?

I think strace [0][1] is what you are looking for. strace executable
will list all the system calls made by the executable during runtime
(you can filter what calls you want traced).

A syscall is by definition a function that is ran in kernel space,
called by the userspace.

If you want to see what function is called when there's a certain
syscall, you should take a look at the syscall descriptor table. It's
an array for function pointers. You can talke a look at the kernel'
source code to see the implementation of the syscall.

Now, to track what the kernel is doing, while in a syscall, I can't
remember a tool that would do that... maybe somebody else can help.

[0] http://linux.die.net/man/1/strace
[1] http://en.wikipedia.org/wiki/Strace

--
Alexandru Juncu
ROSEdu

___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


Re: System call trace

2012-02-15 Thread Mulyadi Santosa
Hi :)

On Wed, Feb 15, 2012 at 21:38, Swapnil Gaikwad swapnilgai...@gmail.com wrote:
 Can we see trace of how the system call works?
 What are the functions are called in kernel space?
 For example we want to trace cp command. Then what are the functions
 is get called by that in kernel space? like how the inode allocation
 take place for new destination file etc.
 Is any tool for that?

Besides using strace, you might find User Mode Linux useful in this
case. Just attach gdb to the UML kernel, put breakpoint into system
call entry, and then do step to follow how it goes.

Note that UML might not precisely mimic real kernel, but at least it
will give you idea.

Other than that, cscope and/or websites like lxr.linux.no are your
best friend for such code exploration :)

-- 
regards,

Mulyadi Santosa
Freelance Linux trainer and consultant

blog: the-hydra.blogspot.com
training: mulyaditraining.blogspot.com

___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies