[prev in list] [next in list] [prev in thread] [next in thread]
List: freebsd-arch
Subject: Re: [PATCH] Add ktrace records for user page faults
From: Jilles Tjoelker <jilles () stack ! nl>
Date: 2011-05-04 21:26:04
Message-ID: 20110504212604.GA13717 () stack ! nl
[Download RAW message or body]
On Mon, May 02, 2011 at 03:37:19PM -0400, John Baldwin wrote:
> One thing I have found useful is knowing when processes are in the
> kernel instead of in userland. ktrace already provides records for
> syscall entry/exit. The other major source of time spent in the
> kernel that I've seen is page fault handling. To that end, I have a
> patch that adds ktrace records to the beginning and end of VM faults.
> This gives a pair of records so a user can see how long a fault took
> (similar to how one can see how long a syscall takes now). Sample
> output from kdump is below:
> 47565 echo CALL mmap(0x800a87000,0x179000,PROT_READ|
> PROT_WRITE,MAP_PRIVATE|MAP_ANON,0xffffffff,0)
> 47565 echo RET mmap 34370777088/0x800a87000
> 47565 echo PFLT 0x800723000 VM_PROT_EXECUTE
> 47565 echo RET KERN_SUCCESS
> 47565 echo CALL munmap(0x800887000,0x179000)
> 47565 echo RET munmap 0
> 47565 echo PFLT 0x800a00000 VM_PROT_WRITE
> 47565 echo RET KERN_SUCCESS
Just a small nitpick, I think the return from a page fault should not
use the same "RET" keyword; even though the next word unambiguously
distinguishes it from a return from a syscall, I think it is clearer in
the documentation and possibly useful for automated processing to use a
separate keyword such as "PRET".
--
Jilles Tjoelker
_______________________________________________
freebsd-arch@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-arch
To unsubscribe, send any mail to "freebsd-arch-unsubscribe@freebsd.org"
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic