Hi David, ----- Original Message ----- > [...] > Note that systemtap will create a file called 'mmv' in > /proc/systemtap/{MODULE_NAME}. I've just been using pcp's 'mmvdump' > utility to dump the contents of the /proc/systemtap/{MODULE_NAME}/mmv > file. Currently the pcp mmv pmda only looks in one place for mmv files, > but it might be possible to create a symbolic link to systemtap's mmv > file to make it happy. (OOC, what's {MODULE_NAME} in this context?) A symlink would sorta work but it feels like a bit of a workaround - the PMDA is written to be able to detect arrival/departure of new MMV files based on changes in a directory (and the location of that directory is parameterised via /etc/pcp.conf variables). I'd not recommend trying to find it within a stap script ... I imagine it will be cleaner if we go for separate user/kernel locations for MMV files. Attached patch (lightly tested) implements the PCP side of things with that in mind - with this patch (and making the kernel code manage the lifecycle of separate /proc/mmv/* entries), things should begin to work out-of-the-box (the MMV PMDA is already default-enabled in the default pmcd config file, so everything else is in place for you). It also occurs to me that there's not really anything systemtap-specific about the kernel MMV instrumentation you've done, or is there? A device driver author might want to instrument her code, for example, without needing a stap install/script...? It would be worth thinking about if the MMV bits in your script could become a more general kernel module for others to use too (in addition to stap, of course!). The extremely lightweight nature of the interface is such that it can be permanently enabled (that's certainly how the userspace MMV is used). Nice work anyway ... I'm looking forward to seeing the code in wider use. Oh, to use the attached patch with PCP tools - apply to a "dev" PCP tree (git.performancecopilot.org/pcp), build, cd src/pmdas/mmv/src, and ... $ pminfo -L -Kclear -Kadd,70,./pmda_mmv.so,mmv_init mmv ... will serve as a quick sanity test that the metrics are functioning. You can also use gdb on /usr/bin/pminfo to inspect behaviour of the PMDA. Once thats going, installing it properly ('make install') and restarting the pmcd service should get you a fully-functional PCP setup with your kernel code firing on all cylinders (pmchart, pmie, everything will work at that point). cheers. -- Nathan