I have the feeling that the filesystems' use of lots of function
pointers will add a large amount of complexity to whatever programming
any checker would require. Bill Irwin and I were discussing it and we
have ways of getting around most of them, but there are _lots_ of
special cases.
"Proving" correctness would obviously be ideal, but in an imperfect
world, what are your feelings on a runtime system for detecting
"magical/bad" BKL use? I'm not proposing my kludgy "printk if you're
bad" stuff, but something with much less impact. I would like to do
something somewhat like profile=2. During each lock_kernel(), the
program counter (any maybe more) could be stored in an internal kernel
structure and retrieved later via a /proc file, just like readprofile.
This wouldn't have intrusive printk messages, and would be able to
be activated by either a command-line parameter, or something else in
/proc. If we had this in our development kernel, interested
developers could pay attention to the output, while the normal kernel
developer could simply ignore it.
> Normally it's not that bad, but "can this function block?" is very nasty
> in that respect - changes of configuration can and do affect that in
> non-trivial ways.
I also wonder how it handles things like kmalloc(), which can block
depending on arguments.
-- Dave Hansen haveblue@us.ibm.com- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/