[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

SMP und Netz



Hallo Liste

Ich sollte das Netzwerk in einer Multiprozessoren Kiste zum laufen bringen und habe dazu folgendes gefunden und probiert...leider fehlen mir an diversen Ecken und Enden die entscheidenden Hinweise:

Wegen möglichen parallelen Zugriffen muss der Kartentreiber sog. Spin_Locks unterstützen. Der Driver von Donald Becker (http://www.scyld.com/network/vortex.html) tut das, muss aber mit der Option -D__SMP__ neu kompiliert werden, damit die Spin_Locks auch wirklich aktiv werden. 

Da ich keinen Plan habe, wie ich den Kernel patchen muss, um den aktuellen Treiber in die Kernel-Source zu bringen, habe ich mich entschlossen, vorerst "nur" ein Modul zu kompilieren und das so auszuprobieren (...es würde mich natürlich schon Wunder nehmen, wie ich den Kernel patchen kann, resp. rausfinden, ob das überhaupt nötig ist, um dann den Treiber in den Kernel zu kompilieren mit dem entsprechend nötigen Optionen für die SMP Umgebung... Wie kann man einem Treiber Optionen zur Kompilation in den Kernel mitgeben?)

Zurück zum "Modul-Weg": Das Kompilieren der Source funktioniert, wenn die Dateien pci-scan.c, pci-scan.h und kern_compat.h beiliegen. Die Warnung malloc.h sei depricated kann ich vermeiden, indem ich in der Source das #include malloc.h Statement durch #include slab.h ersetze...darf ich das einfach so ungestraft? Jedenfalls erhalte ich ein Treiber Modul, welches ich dann mit foldgendem Befehl installieren kann:
    install -m 644 driver.o /lib/modules/`uname -r`/kernel/drivers/net/
Stimmt dieser Befehl für Debian so? ('uname -r' ergibt die Kernel Version, das scheint zu stimmen...) ..oder gibt es in Debian einen anderen, besseren Weg?

Danach steht der Treiber in modconf zur Verfügung und lässt sich aber nicht laden: Es gibt ganz viele Symbol not found Nachrichten und einen Hinweis, es handle sich nicht um ein GPL Modul....
(???) (Es gibt eien Hinweis, den ich nicht verstehe: "Most modern distributions install the essential header files of the kernel source code, including a pre-built "version.h", so this isn't always necessary." --> in Bezug man musse noch 	cd /usr/src/linux; make include/linux/version.h ausführen...ich halte nun Debian einaml für modern und unterlasse das. Richtig?

Damit ich SMP brauchen kann habe ich auch den Kernel kompiliert, muss ich dabei noch etwas besonderes berücksichtigen?? (Okee da gäbe es vieles, aber....ich habe jedenfalls den Treiber für die Karte als Modul ladbar angegeben...)

Meine Umgebung: ASUS A266M-D, 3Com 3c905C-TX-M, Kernel 2.4.18, Woody
Modul compiler Linie: 
gcc -DMODULE -Wall -Wstrict-prototypes -DMODVERSIONS -D__SMP__ -O6 -c 3c59x.c

Danke für Eure Unterstützung!


Grüsse, Adrian.


BTW: Mit dem Standardtreiber für die Karte geht das Netz nicht...irgendeine andere Aktion ist also nötig...


-- 
Zum AUSTRAGEN schicken Sie eine Mail an debian-user-german-request@lists.debian.org
mit dem Subject "unsubscribe". Probleme? Mail an listmaster@lists.debian.org (engl)



Reply to: