Archive

Posts Tagged ‘kernel’

Patching Running Linux Kernel

October 27th, 2014 No comments
Categories: linux Tags: , , ,

Compiling Linux 2.6.33 on Ubuntu

February 25th, 2010 5 comments

When trying to compile a 2.6.33 kernel on Ubuntu nowadays, you’ll run into this problem:

The UTS Release version in include/linux/version.h
""
does not match current version:
"2.6.33-<appended-string>"
Please correct this.

This would not be soo bad, if it wouldn’t fail after compiling (and by that wasting a lot of cpu time …).

To avoid this error, fix the file /usr/share/kernel-package/ruleset/misc/version_vars.mk

And replace this code

UTS_RELEASE_HEADER=$(call doit,if [ -f include/linux/utsrelease.h ]; then  \
	                       echo include/linux/utsrelease.h;            \
	                   else                                            \
                               echo include/linux/version.h ;              \
	                   fi)

with this one

UTS_RELEASE_HEADER=$(call doit,if [ -f include/generated/utsrelease.h ]; then \
                               echo include/generated/utsrelease.h;           \
                           elif [ -f include/linux/utsrelease.h ]; then       \
                               echo include/linux/utsrelease.h;               \
                           else                                               \
                               echo include/linux/version.h;                  \
                           fi)

(Source: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=561569 )

Categories: linux Tags: , ,

MmioTrace

February 16th, 2009 No comments

Danke an Daniel’M für den Hinweis:

Die Reverse Engineers vom Nouveau-Projekt (freier Clone des NVIDIA Treibers) haben MmioTrace entwickelt um besser Einblick in die Funktionsweise proprietärer Treiber zu bekommen. Jeder der meine Diplomarbeit kennt weiß, dass mmio-tracing das einzige PRoblem war, dass ich nicht über mein LD_PRELOAD – Bibliothek lösen konnte.
Sau geile Implementation – die setzen einfach den Speicher auf permanent “non-present” und generieren dadurch bei jedem Aufruf einen pagefault – somit musste nur der pagefaulthandler umgeschrieben werden. Die Infos werden mit Hilfe von relayfs und debugfs für den Nutzer zugreifbar rausgeschrieben.
Das tolle ist, seit Kernel 2.6.27 wird mmiotrace “frei Haus” geliefert:
Memory mapped IO tracing (MMIOTRACE) [N/y/?]

Und womit haben Sie das Ganze dann performance-technisch getestet?? Richtig – Quake3 🙂 . Ist von 83fps ohne Tracing auf 59fps mit Tracing gefallen. Find die Werte ok.

Für alle die’s genau wissen wollen hier noch ein paar Links:
Nouveau-MmioTrace
lkml
lwn

Update
systemtap
frysk framework

Categories: hardware, software Tags: ,