2002-07-18 00:42:43

by daw

[permalink] [raw]
Subject: Re: BKL removal

Dave Hansen wrote:
>The Stanford Checker or something resembling it would be invaluable
>here. It would be a hell of a lot better than my litle patch!

Hmm. There's a chance we might be able to help. Our group is building
a tool called MOPS that is similar in spirit to the Stanford Checker.
MOPS is work-in-progress and will be open source. I haven't tried it
yet on the Linux kernel, but this seems like a reasonable thing to try.

What would you want to check? Track lock_kernel() and unlock_kernel()
and make sure that the BKL is never held when you return from a function?
Something else?

MOPS can handle nested and recursive functions nicely. However, it has
some important limitations:
* Useability hasn't been a focus yet; the input language is
not terribly elegant, and the output language is not exceptionally
friendly. (yet)
* It currently ignores function pointers. (yet)
* #ifdefs are trouble; we only analyzed pre-processed C code.
* It can't reason about data, variables, or values on the heap.
We're working hard on useability. We may fix the second limitation
in future months. However, the latter two are unlikely to go away in
the foreseeable future. Would it still be worth investigating MOPS,
despite these limitations?

The MOPS web page is at
http://www.cs.berkeley.edu/~daw/mops/
There is an initial release there, though it has some known problems.
We're working hard to making it more usable, and I hope to be able to
report more progress in upcoming months.


2002-07-18 00:59:24

by Daniel Phillips

[permalink] [raw]
Subject: Re: BKL removal

On Thursday 18 July 2002 02:30, David Wagner wrote:
> Dave Hansen wrote:
> >The Stanford Checker or something resembling it would be invaluable
> >here. It would be a hell of a lot better than my litle patch!
>
> Hmm. There's a chance we might be able to help. Our group is building
> a tool called MOPS that is similar in spirit to the Stanford Checker.
> MOPS is work-in-progress and will be open source. I haven't tried it
> yet on the Linux kernel, but this seems like a reasonable thing to try.

Excellent, there is an ecological niche ready and waiting for the first
group to do what the Stanford group has done, but open the source. It's
beyond me why the Stanford group hasn't done so, perhaps it has something
to do with university politics.

--
Daniel