LWN.net Logo

The end of /proc/kcore?

Russell King recently posted a patch which makes Linus's kernel tree build properly for the ARM architecture. One of the remaining issues, it seems, was getting /proc/kcore to work. /proc/kcore, of course, is a virtual file which appears to be a core image of the running kernel. It can be used to run debuggers on a running kernel to dump out data structures and such.

The problem with /proc/kcore is that it has to handle loadable modules, which are placed in address space that is separate from the rest of the kernel. Providing user-space access to that space is easier on some architectures than others. ARM, it seems, is one of the harder architectures to support. So, rather than put in large amounts of effort to produce an ugly solution, Russell simply threw in the towel and decreed that /proc/kcore would not be supported on ARM - at least, in the absence of a volunteer to take on the work.

Linus responded by suggesting that /proc/kcore be removed for all architectures.

Does anybody actually _use_ /proc/kcore? It was one of those "cool feature" things, but I certainly haven't ever used it myself except for testing, and it's historically often been broken after various kernel infrastructure updates, and people haven't complained..

There were a couple of followups from people who occasionally use it, but a notable lack of impassioned defenses for /proc/kcore. The biggest problem, perhaps, is that OProfile uses that file for some information, but there suggestions for small changes in how OProfile works to get around that problem. Unless somebody comes up with a stronger argument soon, /proc/kcore is likely to be history.


(Log in to post comments)

Copyright © 2003, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds