On Wed, Mar 30, 2022 at 12:47:39PM -0400, Steven Rostedt wrote: > On Wed, 30 Mar 2022 12:52:58 +0100 > Chris Down <chris@xxxxxxxxxxxxxx> wrote: > > > The policy, as with all debugfs APIs by default, is that it's completely > > unstable and there are no API stability guarantees whatsoever. That's why > > there's no extensive documentation for users: because this is a feature for > > kernel developers. > > > > 0: https://lwn.net/Articles/309298/ > > That article you reference states the opposite of what you said. And I got > burnt by it before. Because Linus stated, if it is available for users, it > is an ABI. > > From the article above: > > "Linus put it this way: > > The fact that something is documented (whether correctly or not) has > absolutely _zero_ impact on anything at all. What makes something an ABI is > that it's useful and available. The only way something isn't an ABI is by > _explicitly_ making sure that it's not available even by mistake in a > stable form for binary use. Example: kernel internal data structures and > function calls. We make sure that you simply _cannot_ make a binary that > works across kernel versions. That is the only way for an ABI to not form." > > IOW, files in debugfs are available for users, and if something is written > that depends on it and it is useful, it becomes ABI. Yup, that's exactly what happened with powertop and the tracepoints it used and why I pointed to it as is the canonical example of information exposed from within debugfs unintentionally becoming stable KABI.... Cheers, Dave. -- Dave Chinner david@xxxxxxxxxxxxx