Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[gelöst] kernel 2.6.37 Big Kernel Lock
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German)
View previous topic :: View next topic  
Author Message
flammenflitzer
Advocate
Advocate


Joined: 25 Nov 2003
Posts: 3468
Location: Berlin

PostPosted: Thu Jan 06, 2011 7:56 pm    Post subject: [gelöst] kernel 2.6.37 Big Kernel Lock Reply with quote

Code:
....Linux 2.6.37 ist zudem der erste moderne Linux-Kernel, der komplett ohne das Big Kernel Lock (BKL) arbeiten kann, das früher die Leistung auf Multicore-Prozessoren und SMP-Maschinen einschränkt...

Siehe auch:
http://www.golem.de/1101/80484.html
Wie configuriere ich den kernel?
Code:
Big Kernel Lock (BKL)

CONFIG_BKL:

This is the traditional lock that is used in old code instead
of proper locking. All drivers that use the BKL should depend
on this symbol.
Say Y here unless you are working on removing the BKL.

Symbol: BKL [=y]
Type : boolean
Prompt: Big Kernel Lock
Defined at lib/Kconfig.debug:472
Depends on: SMP [=y] || PREEMPT [=n]
Location:
-> Kernel hacking

Nur entfernen? Oder muss ich dafür etwas anderes aktivieren?


Last edited by flammenflitzer on Wed Jan 12, 2011 5:11 pm; edited 1 time in total
Back to top
View user's profile Send private message
manuels
Advocate
Advocate


Joined: 22 Nov 2003
Posts: 2146
Location: Europe

PostPosted: Thu Jan 06, 2011 8:52 pm    Post subject: Reply with quote

Soweit ich weiß, kannst du den einfach entfernen.
Er wird nur noch für ältere Module der Kernels benötigt (dann musst du ihn aktivieren um die Module aktivieren zu können).
_________________
Build your own live cd with catalyst 2.0!
Back to top
View user's profile Send private message
Josef.95
Advocate
Advocate


Joined: 03 Sep 2007
Posts: 4520
Location: Germany

PostPosted: Fri Jan 07, 2011 1:53 pm    Post subject: Reply with quote

Ich bin auch grad ein wenig dabei mich mit dem neuen 2.6.37er Kernel zu beschäftigen. Soweit ich bisher gesehen hab sollte man mit dem deaktivieren von Big Kernel Lock (BKL) ein wenig vorsichtig sein, mir fehlte zb das udf Modul, dieses ist zb noch abhängig von BKL
Quote:
Prompt: UDF file system support
Defined at fs/udf/Kconfig:1
Depends on: BLOCK [=y] && BKL [=n]
Location:
-> File systems
-> CD-ROM/DVD Filesystems
Selects: CRC_ITU_T [=m]

Ich hätte eigentlich erwartet das man BKL gar nicht deaktivieren kann sofern andere gesetzte Treiber davon abhängen, aber dem ist nicht so....
Sprich: man sollte mit der Deaktivierung von BLK ein wenig vorsichtig sein :wink:
Back to top
View user's profile Send private message
franzf
Advocate
Advocate


Joined: 29 Mar 2005
Posts: 4565

PostPosted: Fri Jan 07, 2011 2:04 pm    Post subject: Reply with quote

Ich würds noch nicht rausschmeißen. Die paar Wochen bis zum nächsten Release - wo die restlichen noch BKL-anhängigen Treiber wie udf auf BKL-frei umgestlellt sein werden - kann ich noch mit BKL leben. Mein Desktop hat sowieso noch nen Uralt-Singlecore, da ist die zusätzliche Performance nicht wirklich spürbar - so was dazu gesagt wurde, ist das vor allem eine Besserung für Multicore-System (3x so schnelles ext4 bei 48 Cores hab ich gelesen ^^)

Last edited by franzf on Fri Jan 07, 2011 2:06 pm; edited 1 time in total
Back to top
View user's profile Send private message
kernelOfTruth
Watchman
Watchman


Joined: 20 Dec 2005
Posts: 6111
Location: Vienna, Austria; Germany; hello world :)

PostPosted: Fri Jan 07, 2011 2:05 pm    Post subject: Reply with quote

Josef.95 wrote:
Ich bin auch grad ein wenig dabei mich mit dem neuen 2.6.37er Kernel zu beschäftigen. Soweit ich bisher gesehen hab sollte man mit dem deaktivieren von Big Kernel Lock (BKL) ein wenig vorsichtig sein, mir fehlte zb das udf Modul, dieses ist zb noch abhängig von BKL
Quote:
Prompt: UDF file system support
Defined at fs/udf/Kconfig:1
Depends on: BLOCK [=y] && BKL [=n]
Location:
-> File systems
-> CD-ROM/DVD Filesystems
Selects: CRC_ITU_T [=m]

Ich hätte eigentlich erwartet das man BKL gar nicht deaktivieren kann sofern andere gesetzte Treiber davon abhängen, aber dem ist nicht so....
Sprich: man sollte mit der Deaktivierung von BLK ein wenig vorsichtig sein :wink:


das wollt ich auch gerade schreiben ;)

also wer mit DVDs oder CDs herumhantieren muss, die eventuell UDF einsetzen (unterstützt Dateigrößen >4GB) sollte den BKL noch drin lassen

mit 2.6.38 oder so sollte er wohl nicht mehr nötig sein
_________________
https://github.com/kernelOfTruth/ZFS-for-SystemRescueCD/tree/ZFS-for-SysRescCD-4.9.0
https://github.com/kernelOfTruth/pulseaudio-equalizer-ladspa

Hardcore Gentoo Linux user since 2004 :D
Back to top
View user's profile Send private message
flammenflitzer
Advocate
Advocate


Joined: 25 Nov 2003
Posts: 3468
Location: Berlin

PostPosted: Fri Jan 07, 2011 4:07 pm    Post subject: Reply with quote

Wenn das die einzige Abhängigkeit ist. Ist ewig her, das ich mal eine Scheibe eingelegt habe. Und betrifft ja wohl auch nur DVD.
Back to top
View user's profile Send private message
Josef.95
Advocate
Advocate


Joined: 03 Sep 2007
Posts: 4520
Location: Germany

PostPosted: Fri Jan 07, 2011 4:19 pm    Post subject: Reply with quote

flammenflitzer wrote:
Wenn das die einzige Abhängigkeit ist ....
Da wäre ich mir eben nicht sicher...
Das tückische ist ja wenn du schon eine nahezu fertige Konfiguration hast und dann BKL deaktivierst, dann werden auch die abhängigen Treiber (ohne Vorwarnung) mit deaktiviert. (ich hab es auch erst nach dem booten anhand des fehlenden udf Moduls gemerkt.)

Kennt jemand eventuelle ein Befehl oder eine Quelle mit der man herausfinden kann welche Treiber noch alle von BKL abhängen?

Im zweifel würde ich BKL auch noch aktiviert lassen.
Back to top
View user's profile Send private message
kernelOfTruth
Watchman
Watchman


Joined: 20 Dec 2005
Posts: 6111
Location: Vienna, Austria; Germany; hello world :)

PostPosted: Fri Jan 07, 2011 4:31 pm    Post subject: Reply with quote

Josef.95 wrote:
flammenflitzer wrote:
Wenn das die einzige Abhängigkeit ist ....
Da wäre ich mir eben nicht sicher...
Das tückische ist ja wenn du schon eine nahezu fertige Konfiguration hast und dann BKL deaktivierst, dann werden auch die abhängigen Treiber (ohne Vorwarnung) mit deaktiviert. (ich hab es auch erst nach dem booten anhand des fehlenden udf Moduls gemerkt.)

Kennt jemand eventuelle ein Befehl oder eine Quelle mit der man herausfinden kann welche Treiber noch alle von BKL abhängen?

Im zweifel würde ich BKL auch noch aktiviert lassen.

kernelnewbies ;) (wird wohl nicht ganz aktuell gehalten was noch übrig bleibt)

[PATCH 0/7] BKL removal follow-up
_________________
https://github.com/kernelOfTruth/ZFS-for-SystemRescueCD/tree/ZFS-for-SysRescCD-4.9.0
https://github.com/kernelOfTruth/pulseaudio-equalizer-ladspa

Hardcore Gentoo Linux user since 2004 :D
Back to top
View user's profile Send private message
manuels
Advocate
Advocate


Joined: 22 Nov 2003
Posts: 2146
Location: Europe

PostPosted: Fri Jan 07, 2011 7:06 pm    Post subject: Reply with quote

Also, dass das UDF ein BKL benötigt, ist irgenwie schwierig einzusehen (bei einem Hardware-Treiber hätt ich es ja noch verstanden), aber z.B. wird genutzt um Dateioperationen "abzusichern" [Funktionsaufruf lock_kernel()].
Da scheint es sich wohl ein Kernelentwickler besonders einfach gemacht zu haben :lol:.
Wie dem auch sei: Meines erachtens hast du keinen Geschwindigkeitsnachteil, wenn du den BKL einkompilierst. Er kommt dann nur zu tragen, wenn du das UDF nutzt (wenn ich mich irre, bitte korrigiert mich).

<geekmode>Es ist aber schon cooler einen OS-Kernel ohne BKL zu haben</geekmode>

EDIT: URL-Markup
_________________
Build your own live cd with catalyst 2.0!
Back to top
View user's profile Send private message
SinoTech
Advocate
Advocate


Joined: 20 Mar 2004
Posts: 2579
Location: Neunkirchen / Saarland / Germany

PostPosted: Fri Jan 07, 2011 8:29 pm    Post subject: Reply with quote

manuels wrote:
[...]
Wie dem auch sei: Meines erachtens hast du keinen Geschwindigkeitsnachteil, wenn du den BKL einkompilierst. Er kommt dann nur zu tragen, wenn du das UDF nutzt (wenn ich mich irre, bitte korrigiert mich).
[...]

Nein, das glaube ich nicht. Entwder BKL ist aktiv (es darf immer nur ein Thread Kernelcode ausführen) oder nicht. Unterscheidung zwischen Treibern die es brauchen und denen die es nicht brauchen wird es da sicher nicht geben.

manuels wrote:
[...]
[...]
<geekmode>Es ist aber schon cooler einen OS-Kernel ohne BKL zu haben</geekmode>

Ack ;-)
_________________
Help to answer the unanswered
Back to top
View user's profile Send private message
mv
Watchman
Watchman


Joined: 20 Apr 2005
Posts: 6747

PostPosted: Fri Jan 07, 2011 8:30 pm    Post subject: Reply with quote

manuels wrote:
Da scheint es sich wohl ein Kernelentwickler besonders einfach gemacht zu haben :lol:.

Das war ursprünglich bei jedem Dateisystem so gemacht worden. Deswegen sind jetzt zur Entfernung des BKL alle Filesysteme überarbeitet worden, und ein paar davon (u.a. UDF) sind bie 2.6.37 noch nicht rechtzeitig fertig geworden.
Back to top
View user's profile Send private message
cryptosteve
Veteran
Veteran


Joined: 04 Jan 2004
Posts: 1169
Location: GER

PostPosted: Fri Jan 07, 2011 8:34 pm    Post subject: Reply with quote

Dafür ist die Option zum Entfernung vom BLK aber ganz schön gehyped worden. Möchte nicht wissen, wieviele da in den nächsten Tagen/Wochen noch auf die Nase fallen. :)
_________________
- born to create drama -
gpg: 0x9B6C7E15
CS Virtual Travel Bug: VF6G5D
Back to top
View user's profile Send private message
manuels
Advocate
Advocate


Joined: 22 Nov 2003
Posts: 2146
Location: Europe

PostPosted: Fri Jan 07, 2011 11:58 pm    Post subject: Reply with quote

SinoTech wrote:
Entwder BKL ist aktiv (es darf immer nur ein Thread Kernelcode ausführen) oder nicht. Unterscheidung zwischen Treibern die es brauchen und denen die es nicht brauchen wird es da sicher nicht geben.
Da muss ich dir widersprechen (oder ich hab dich falsch verstanden):
Das BKL wird nur aktiviert, wenn ein (Kernel-)Thread eine Aktion ausführt, die "Concurrency"-kritisch ist.
Da in fast allen anderen Kernel-Modulen die Funktion lock_kernel() gar nicht aufgerufen wird, wird das BKL in diesen Modulen auch gar nicht genutzt.

mv wrote:
manuels wrote:
Da scheint es sich wohl ein Kernelentwickler besonders einfach gemacht zu haben :lol:.

Das war ursprünglich bei jedem Dateisystem so gemacht worden. Deswegen sind jetzt zur Entfernung des BKL alle Filesysteme überarbeitet worden, und ein paar davon (u.a. UDF) sind bie 2.6.37 noch nicht rechtzeitig fertig geworden.

Alles faule Säcke :lol:
_________________
Build your own live cd with catalyst 2.0!
Back to top
View user's profile Send private message
flammenflitzer
Advocate
Advocate


Joined: 25 Nov 2003
Posts: 3468
Location: Berlin

PostPosted: Sat Jan 08, 2011 9:28 am    Post subject: Reply with quote

Funktioniert so nicht.Diverse Module werden nicht geladen. hald startet mit Fehlermeldungen und bei kdm hängt sich der Rechner auf. Ich nehme den kernel mit aktiviertem BKL.
Back to top
View user's profile Send private message
Josef.95
Advocate
Advocate


Joined: 03 Sep 2007
Posts: 4520
Location: Germany

PostPosted: Sat Jan 08, 2011 12:30 pm    Post subject: Reply with quote

flammenflitzer wrote:
Funktioniert so nicht.Diverse Module werden nicht geladen. hald startet mit Fehlermeldungen und bei kdm hängt sich der Rechner auf. Ich nehme den kernel mit aktiviertem BKL.

Das wird aber vermutlich andere gründe haben, zumindest kann es hier nicht nachvollziehen. Bis auf das bei mir fehlende udf Modul, welches von kde nicht benötigt wird läuft kde hier einwandfrei. (ohne BKL)
Kannst du genauer benennen was für Module genau nicht mehr verfügbar sind?

@kernelOfTruth
Danke für die rausgesuchten Links!
Back to top
View user's profile Send private message
SinoTech
Advocate
Advocate


Joined: 20 Mar 2004
Posts: 2579
Location: Neunkirchen / Saarland / Germany

PostPosted: Sat Jan 08, 2011 2:57 pm    Post subject: Reply with quote

manuels wrote:
SinoTech wrote:
Entwder BKL ist aktiv (es darf immer nur ein Thread Kernelcode ausführen) oder nicht. Unterscheidung zwischen Treibern die es brauchen und denen die es nicht brauchen wird es da sicher nicht geben.
Da muss ich dir widersprechen (oder ich hab dich falsch verstanden):
Das BKL wird nur aktiviert, wenn ein (Kernel-)Thread eine Aktion ausführt, die "Concurrency"-kritisch ist.
Da in fast allen anderen Kernel-Modulen die Funktion lock_kernel() gar nicht aufgerufen wird, wird das BKL in diesen Modulen auch gar nicht genutzt.
[...]

Ja du hast recht. Ich bin davon ausgegangen das der Kernel das automatisch macht sobald ein Thread in den Kernelcode springt. Anscheinend wird das locking aber nur dann aktiv, wenn "lock_kernel" aufgerufen wird.

Cheers,

Sino
_________________
Help to answer the unanswered
Back to top
View user's profile Send private message
Randy Andy
Veteran
Veteran


Joined: 19 Jun 2007
Posts: 1148
Location: /dev/koelsch

PostPosted: Sun Jan 09, 2011 11:16 am    Post subject: Reply with quote

kernelOfTruth wrote:

also wer mit DVDs oder CDs herumhantieren muss, die eventuell UDF einsetzen (unterstützt Dateigrößen >4GB) sollte den BKL noch drin lassen

mit 2.6.38 oder so sollte er wohl nicht mehr nötig sein


Auch ich habe im Vorfeld einiges darüber gelesen und mit Spannung auf den Wegfall des BKL gewartet, leider erfuhr ich bei meinen Recherchen dass ich von der UDF Problematik betroffen sein würde (wegen meiner Nutzung von DVD-RAM, was aber nix mit der Unterstützung von Dateigrößen >4GB zu tun hat) :wink:

Praktische Tests hier belegen, seit dem ich den kernel ohne BKL einsetze, kann ich erwartungsgemäss nicht mehr auf meine DVD-RAM Scheiben zugreifen.
Normale CD / DVD's dagegen sind kein Problem. So muss ich halt'n anderen kernel booten, wenn ich Zugriff auf DVD-RAM brauche, da ich noch ein wenig ohne BKL experimentieren möchte, hier auf meinem Quad-Core, wo es vielleicht ein wenig Sinn machen könnte.
Bin gespannt auf die nächste große Kompilierorgie von KDE-4.6, da werd ich das mal ausgiebig testen.

Gruß, Andy.
_________________
If you want to see a Distro done right, compile it yourself!
Back to top
View user's profile Send private message
flammenflitzer
Advocate
Advocate


Joined: 25 Nov 2003
Posts: 3468
Location: Berlin

PostPosted: Sun Jan 09, 2011 4:46 pm    Post subject: Reply with quote

Ich habe den Rechner jetzt interaktiv gestartet(ohne BKL).
Nach jedem Dienst kommt
Code:
read: Interrupted system call

Aufgehangen hat er sich beim start von cdemud. (Würde ich schon gern ab und an nutzen.)

Folgende Module fehlen: (kein Beinbruch)
Code:
ieee1394 eth1394 raw1394
flammenflitzer linux # cat .config | grep 1394
# IEEE 1394 (FireWire) support
# CONFIG_DVB_FIREDTV_IEEE1394 is not set
# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set


Alsa meldet:
Code:
 alsactl: set_control:1255: failed to obtain info for control #12 (no such file or directory)
alsactl: set_control:1255: failed to obtain info for control #12 (no such file or directory)
alsactl: set_control:1255: failed to obtain info for control #13 (no such file or directory)
alsactl: set_control:1255: failed to obtain info for control #14 (no such file or directory)
alsactl: set_control:1255: failed to obtain info for control #15 (no such file or directory)
alsactl: set_control:1255: failed to obtain info for control #18 (no such file or directory)
alsactl: set_control:1255: failed to obtain info for control #19 (no such file or directory)

Code:
flammenflitzer linux # cat .config | grep SND | grep -v \#
CONFIG_SND=y
CONFIG_SND_TIMER=m
CONFIG_SND_PCM=m
CONFIG_SND_HWDEP=m
CONFIG_SND_RAWMIDI=m
CONFIG_SND_JACK=y
CONFIG_SND_DYNAMIC_MINORS=y
CONFIG_SND_VMASTER=y
CONFIG_SND_DMA_SGBUF=y
CONFIG_SND_PCI=y
CONFIG_SND_HDA_INTEL=m
CONFIG_SND_HDA_HWDEP=y
CONFIG_SND_HDA_RECONFIG=y
CONFIG_SND_HDA_INPUT_BEEP=y
CONFIG_SND_HDA_INPUT_BEEP_MODE=1
CONFIG_SND_HDA_INPUT_JACK=y
CONFIG_SND_HDA_PATCH_LOADER=y
CONFIG_SND_HDA_CODEC_REALTEK=y
CONFIG_SND_HDA_CODEC_ANALOG=y
CONFIG_SND_HDA_CODEC_SIGMATEL=y
CONFIG_SND_HDA_CODEC_VIA=y
CONFIG_SND_HDA_CODEC_HDMI=y
CONFIG_SND_HDA_CODEC_CIRRUS=y
CONFIG_SND_HDA_CODEC_CONEXANT=y
CONFIG_SND_HDA_CODEC_CA0110=y
CONFIG_SND_HDA_CODEC_CMEDIA=y
CONFIG_SND_HDA_CODEC_SI3054=y
CONFIG_SND_HDA_GENERIC=y

Die alsa Meldung erscheint nicht, wenn die Soundtreiber als Module eingesetzt werden.


Last edited by flammenflitzer on Sun Jan 09, 2011 8:47 pm; edited 1 time in total
Back to top
View user's profile Send private message
manuels
Advocate
Advocate


Joined: 22 Nov 2003
Posts: 2146
Location: Europe

PostPosted: Sun Jan 09, 2011 5:10 pm    Post subject: Reply with quote

Nur um sicher zu gehen: Mit BKL funktioniert alles mit _der selben Kernelversion_?
_________________
Build your own live cd with catalyst 2.0!
Back to top
View user's profile Send private message
flammenflitzer
Advocate
Advocate


Joined: 25 Nov 2003
Posts: 3468
Location: Berlin

PostPosted: Sun Jan 09, 2011 5:14 pm    Post subject: Reply with quote

Auch mit BKL hat sich der Rechner aufgehangen. Habe ich mit BKL jetzt getestet. Der Rechner hängt sich in jedem Fall auf, wenn cdemud gestartet wird. Alsameldung behoben s.o. (Die gelisteten Module fehlen.)

http://sourceforge.net/tracker/index.php?func=detail&aid=3152330&group_id=93175&atid=603425
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum