Date: Fri, 30 Dec 2016 16:37:14 +0800 (PHT) From: Paul Goyette <[email protected]>
I have managed to provide access to all of the kernel history data via sysctl, and I've come up with a modified version of vmstat(1) that can read the data from sysctl rather than having to use kvm. Diffs for sys/sys/kernhist.h and sys/kern/kern_history.c can be found at www.netbsd.org/~pgoyette/my_vmstat/kernhist.diffs In the same directory you can find a source file my_vmstat.c (and its associated Makefile). What function does kern_history_new serve? Why membar_producer? No matching membar_(datadep_)consumer? Is sysctl_createv kosher under a mutex? I expect it may allocate memory, so my inclination is probably not. Can you sketch the control and data flow here? sysctl_kernhist_helper is the function of a new sysctl node kern.hist, but it itself establishes new sysctl nodes, which is a curious kind of recursion. There seem to be some stray debug prints in sysctl_kernhist_helper.
