kernel mit sse4.1

Debian auf Notebooks und speziellen Geräten wie eingebetteten Systemen, Routern, Set-Top-Boxen, ...
Antworten
xander32
Beiträge: 3
Registriert: 01.12.2007 21:50:09

kernel mit sse4.1

Beitrag von xander32 » 12.03.2012 22:13:27

Hallo

ich möchte mir einen angepassten Kernel 3.6.9 kompilieren. In meinem Notebook Lenovo 3000 n200 ist ein T8300 verbaut. Debian squeeze.

Mir ist aufgefallen, dass für den Kernel der Flag sse4.1 fehlt, und der Cache nicht auf 3072 KB steht.
------------ schnipp
#cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 23
model name : Intel(R) Core(TM)2 Duo CPU T8300 @ 2.40GHz
stepping : 6
cpu MHz : 2369.804
cache size : 6144 KB
physical id : 0
siblings : 2
core id : 0
cpu cores : 2
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 5
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall lm constant_tsc rep_good nopl pni ssse3 lahf_lm
bogomips : 4739.60
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
power management:
.......
------------------------schnapp

Um das aufzulösen habe ich versucht den Kernel (von www.kernel.org und Anleitung von gargi.org) mit Änderungen im Makefile:

# SHELL used by kbuild
CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \
else if [ -x /bin/bash ]; then echo /bin/bash; \
else echo sh; fi ; fi)

Code: Alles auswählen

HOSTCC       = gcc
HOSTCXX      = g++
HOSTCFLAGS   = -Wall -Wmissing-prototypes -Wstrict-prototypes -O3 -fomit-frame-pointer[i] -march=native -msse4.1 -mtune=core2[/i]
HOSTCXXFLAGS = -O3 [i]-march=native -msse4.1 -mtune=core2[/i]



zu kompilieren. Das führte zu dem Ergebnis, dass der neue Kernel etwas langsamer ist und immer noch kein sse4.1 zu sehen ist.

Mach ich da was falsch? Ich probier das zum ersten Mal.
Wie muss man den Kernel kompilieren um sse4.1 zu nutzen bei diesem Prozessor?

Benutzeravatar
cirrussc
Beiträge: 6582
Registriert: 26.04.2007 19:47:06
Lizenz eigener Beiträge: MIT Lizenz

Re: kernel mit sse4.1

Beitrag von cirrussc » 13.03.2012 01:30:57

Dein Denkfehler besteht darin, dass die Datei cpuinfo das anzeigt, was vom Prozessor ausgegeben wird unabhängig davon, was der Kernel nutzt! Cpuinfo zeigt also an, was der Prozessor kann :wink:

Mitunter bezweifle ich, dass allzu viel Code des Kernels überhaupt diese erweiterten Befehlssätze verwendet (vllt. Kryptografie-Module). Die multimedia- und Mathematikbefehle nutzen dafür kompilierte Programme wie z.B. Lame und so, auch unabhängig vom Kernel.
Gruß cirrussc
--------------------
„Der Mensch steigert zur Zeit die Nutzung dessen, was seiner Willkür unterliegt - und kommt sich sehr klug dabei vor.“ H. Gruhl

chb
Beiträge: 107
Registriert: 27.02.2012 21:01:28
Lizenz eigener Beiträge: GNU General Public License
Wohnort: Frankfurt am Main

Re: kernel mit sse4.1

Beitrag von chb » 13.03.2012 03:50:19

Hallo xander32,
da ich einen ähnlichen Laptop mit der gleichen cpu verwende, dachte ich, evtl. weiterhelfen zu können -
aber irgendwie verstehe ich leider weder die Frage noch Dein Vorhaben...

- Wer oder was soll "Kernel 3.6.9" sein? (Schreibfehler, Zukunftsreise)??
Der aktuellste Kernel ist 3.3-rc7, aktuellster 'stable' ist 3.2.10, aktuellster Debian Kernel in wheezy & sid ist 3.2.9-1.

- Welcher Kernel ist geladen währen Deines 'cat /proc/cpuinfo' - der frisch compilierte, ja?
(Ggf.: was gibt 'uname -r' aus, alternativ 'dmesg | grep BOOT_IMAGE' ?)

- Was gibt 'cat /proc/cpuinfo' aus, wenn Du mit einem 'normalen' Debian Distributions-Kernel bootest?
(cache size:? flags:?)
Wie cirrussc bereits schrieb, kommt es [afaik, too] eigentlich recht selten vor, dass cpuinfo unrichtigen Müll ausgibt.
Ist im BIOS evtl. irgendwas suboptimal eingestellt (sieht fast so aus)? Nur 1 core aktiviert??

- Ungeeignete Methode, diese 'features' sind/werden imho (man korrigiere mich?) in der make.conf aktiviert, a la

Code: Alles auswählen

USE="... mmx sse sse2 sse3 ssse3 ..."
# Penryn und neuer
USE="... mmx sse sse2 sse3 ssse3 sse4 sse4a sse4_1..."

- es wäre vermutlich idF. sinnvoller, wenn Du Dir den aktuellsten Debian Squeeze distribution Kernel (ggf. squeeze-backports) installierst (linux-image-xyz.deb, per synaptic /aptitude /apt-get), guckst, ob alles geht wie's soll, und dann per

Code: Alles auswählen

apt-get build-dep --no-install-recommends linux-image-$(uname -r)
apt-get source linux-image-$(uname -r)
Abhängigkeiten und Quellcode einspielst und zB. per

Code: Alles auswählen

make localmodconfig
den Kernel auf Dein System 'optimierst' ...oder was auch immer Du vorhast...

Mein 'Lieblings- Test- und Rumschlepprechner' ist ein SFC Lifebook S7210 - ebenfalls mit Intel T8300 CPU.
Betrieben wird er zZt. mit Wheezy und 3 verschiedenen Kerneln (je nach Zweck):
3.2.0-2-686-pae (3.2.9-1) und 3.2.0-2-amd64 (3.2.9-1) [aus debian testing] und 3.3-3.3-rc7_local-686 [vanilla Eigenbau].
Bei allen dreien gibt 'cat /proc/cpuinfo' diese [quasi-gleiche] Ausgabe: NoPaste-Eintrag36333, und zwar für beide[!?] CPU cores.
Deine Ausgabe sieht nach einem 'verquasten Mix' beider Kerne aus (2*3072 KB Cache =6144 KB) -> dennoch falsch!?
'cache size' und sse4_1 flag werden uf meinem System wie erwartet und zutreffend ausgegeben.

-Falls Deine Absicht in 'performance' -Optimierung besteht (?), würde ich davon eher abraten. Die Nachteile (Mühe, Zeitaufwand, Unflexibilität hinsichtlich ergänzender Hardware) überwiegen, gerade bei einem persönlich genutzten Laptop, meistens den marginalen Performancezuwachs; bei einer verbauten 19'' vServereinheit in kommerzeiellem 24/7 -Einsatz dagegen können 2,3% 'Luft' [=zufällig erfundener, beispielhafter Performancezuwachs u.b. Bedingungen] viel sein.
Da steckt aber auch keiner 'mal so' einen Surfstick oder ein Grafiktablett dran
Erkläre doch evtl. mal, um welche Kernel -Version es sich tatsächlich handelt & was Du vorhast.

xander32
Beiträge: 3
Registriert: 01.12.2007 21:50:09

Re: kernel mit sse4.1

Beitrag von xander32 » 13.03.2012 08:36:17

Vielen Dank für die Hilfe! Es lag tatsächlich am Bios.
Lenovo hatte dort wohl einiges abgeschaltet. Mit der neuesten Version geht es.

Antworten