FS#17106 - [kernel26] enable CONFIG_MMIOTRACE

Attached to Project: Arch Linux
Opened by Xavier (shining) - Thursday, 12 November 2009, 14:05 GMT
Last edited by Tobias Powalowski (tpowa) - Saturday, 26 December 2009, 07:23 GMT
Task Type Feature Request
Category Kernel
Status Closed
Assigned To Tobias Powalowski (tpowa)
Thomas Bächler (brain0)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No



Mmiotrace traces Memory Mapped I/O access and is meant for
debugging and reverse engineering. It is called from the ioremap
implementation and works via page faults. Tracing is disabled by
default and can be enabled at run-time.


The overhead of that option should be minimal. There might be just a slight memory overhead when tracing is disabled : a buffer of one page per cpu.

Fedora had this option at some point in their standard kernel, but they moved it to their -debug kernel. Unfortunately, Arch has no such kernel.

For instance, mmiotrace can provide very valuable information to the nouveau developers. But to enable that, we currently need to rebuild the kernel, and rebuild the nvidia blob against it.
This task depends upon

Closed by  Tobias Powalowski (tpowa)
Saturday, 26 December 2009, 07:23 GMT
Reason for closing:  Fixed
Additional comments about closing:  2.6.32 series
Comment by Thomas Dziedzic (tomd123) - Friday, 13 November 2009, 05:07 GMT
IMO, this is something that should be left out of the main kernel because very few would actually use it. And those who would need it can very easily add it.
Comment by Xavier (shining) - Sunday, 22 November 2009, 10:50 GMT
Recommendation from a Nouveau developer to Ubuntu : http://lists.freedesktop.org/archives/nouveau/2009-November/004099.html

"Oh, could you make mmiotrace easily available on Ubuntu?
I'm not sure what your current situation is, but if it requires
a kernel recompile, it is a big step. It needs to be enabled in
the kernel configuration, and it is supposed to have
negligible impact on the system while not activated at runtime.
AFAIK, the extra memory burden is one page per cpu, plus there
can be some spurious kernel messages while using gdb.

It would also help if you have an easy way to switch between the
Nvidia proprietary driver and Nouveau."