On Sun, 3 Feb 2008 08:03:21 +0100
Ingo Molnar <mingo@elte.hu> wrote:
Good to hear!
I've made some fixes since my last mmiotrace patch (v2). Rewritten things
to use lookup_address(), added EXPORT_SYMBOL(lookup_address) into
pageattr.c to make it work (this hopefully fixed the undefined symbol
'init_mm' on x86-32), and fixed relay-buffer-full flags on SMP.
What does this mean in practice? It should be able to call into a module,
so the only thing I can come up with is a single settable function
pointer. Just like I proposed in patch v2, but a function pointer instead
of a list. Is this what you and Arjan suggest?
We are talking about the hook in do_page_fault(), right?
I was waiting for someone to comment on that, I didn't know what was the
proper place. I'll move it into there.
Then I need a way to clear the relay buffers at some point. Currently
they get cleared only on module unload. Maybe preferably also allocate
and deallocate them dynamically. I've no idea how to do this yet, any
pointers to examples?
Hmm, I guess relay buffers could be allocated on the first intercepted
call to ioremap, but then the userspace could not be started before
hand, and at that point it is too late.
Making it build-in-able will take so much time that I'd prefer to aim
it for 2.6.26.
Yikes. Like I replied to Arjan, it looks daunting.
Thanks, I'll do what I can. When do you need the final (as for 2.6.25)
mmiotrace patch, or is it going in as v2 and then we fix it in RCs?
--
Pekka Paalanen
http://www.iki.fi/pq/
--