Re: Replacement for page fault notifiers?

Pavel Roskin
2008-01-09T18:18:54Z

On Wed, 2008-01-09 at 11:26 +1100, Benjamin Herrenschmidt wrote:
> > Christoph,
> >
> > it is generic code, it works by patching the module you load and is in
> > no way nvidia specific, I think we should revert your chance
> > as the notifiers have a valid user and one it has been planned to upstream..
>
> Agreed, it looks like a sane enough user of page fault notifiers, it's
> going to be upstream, and it's useful to fight evil binary drivers so
> that sounds like a good justification to bring those back in :-)

The fault notifiers are used in a special version of MadWifi (Atheros
wireless driver with some non-free parts) to figure out which registers
are being accessed. The tracing capability has been essential for the
development of the free replacement, ath5k.

Considering that ath5k is being developed in the kernel tree, whereas
madwifi-trace needs 2.6.23, one needs different kernels for tracing and
development. Lifting this requirement would be a time saver for the the
developers of ath5k. And once 2.6.24 is released, ath5k developers will
be in the position to ask users to downgrade their kernels to get traces
for their cards. That's something I'd like to avoid.

I looked at ways to implement the page fault handler using kprobes, but
I could not find a simple solution. The problem is that kprobes uses
the fault notifier for its own needs. I'm still hopeful that somebody
with a better understanding of kprobes will be able to implement fault
notification without patching the kernel. But if no such solution is
found, I would also support reverting the patch that removed fault
notifiers on i386.

--
Regards,
Pavel Roskin