svn commit: r192859 - in head: share/man/man4 sys/conf sys/dev/ksyms sys/kern sys/modules sys/modules/ksyms sys/sys

Stacey Son sson at
Wed May 27 00:32:50 UTC 2009

Robert Watson wrote:
> On Tue, 26 May 2009, Stacey Son wrote:
>>  Add the ksyms(4) pseudo driver.  The ksyms driver allows a process to
>>  get a quick snapshot of the kernel's symbol table including the symbols
>>  from any loaded modules (the symbols are all merged into one symbol
>>  table).  Unlike like other implementations, this ksyms driver maps
>>  memory in the process memory space to store the snapshot at the time
>>  /dev/ksyms is opened.  It also checks to see if the process has already
>>  a snapshot open and won't allow it to open /dev/ksyms it again until it
>>  closes first.  This prevents kernel and process memory from being
>>  exhausted.  Note that /dev/ksyms is used by the lockstat(1) command.
>>  Reviewed by:    gallatin kib (freebsd-arch)
>>  Approved by:    gnn (mentor)
> One downside to the once-per-process limitation is that it means a 
> library *and* an application using it can't both use ksyms at once.  
> Obviously, not a limitation for the current use, but if we start to 
> grow more consumers it might become one.
Yes, true.   One solution may be to allow it to be opened again by the 
same process but simply use the same memory mapping and keep a reference 


More information about the svn-src-all mailing list