Hello, the commit "x86: optimize page faults like all other achitectures and kill notifier cruft" by Christoph Hellwig removed the page fault notifiers (e.g. register_page_fault_notifier()) completely in 2.6.24. Mmio-trace [1] is using them for tracking memory mapped IO, and also other people have mentioned they need it [2,3]. This is roughly how I understand mmio-trace is working. In a loadable kernel module calls to __ioremap() are diverted to an mmio-trace specific function. The function calls the real __ioremap() and marks the returned pages as not present. Access to the mapped IO memory causes a page fault. Mmio-trace's page fault handler marks the page present, records the event, single-steps the faulting instruction, and finally marks the page as not present again. - Is there anything coming to replace register_page_fault_notifier()? - Has someone found another way to accomplish the same without patching the kernel? - Should I start writing a patch to bring back the notifiers, based on the commit that removed them? People started to complain to me that mmio-trace does not compile for 2.6.24. At least the Nouveau project is a regular user of mmio-trace for reverse-engineering, and the tool should be easy to use. Therefore I would prefer not to force casual contributors to patch their kernels as it might be too much for some. I am hoping that 2.6.25, if not 2.6.24, would contain a mechanism to accomplish what I need. I am not a subscriber, so please keep me in CC. Also I CC'd the people who wrote about the same issue in the past. Thanks. [1] http://nouveau.freedesktop.org/wiki/MmioTrace [2] http://marc.info/?l=linux-kernel&m=119540769014745&w=2 [3] http://article.gmane.org/gmane.linux.kernel/609521 -- Pekka Paalanen http://www.iki.fi/pq/ --
| david | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
| Greg Kroah-Hartman | [PATCH 001/196] Chinese: Add the known_regression URI to the HOWTO |
| Justin C. Sherrill | Mailing list archive |
| Ingo Molnar | [patch 08/13] syslets: x86, add move_user_context() method |
git: | |
| Steven Rostedt | Re: -rt scheduling: wakeup bug? |
| David Miller | [GIT]: Networking |
| Jarek Poplawski | Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| Gerrit Renker | [PATCH 27/37] dccp: Integration of dynamic feature activation - part 2 (server side) |
