View previous topic :: View next topic |
Author |
Message |
flammenflitzer Advocate
Joined: 25 Nov 2003 Posts: 3487 Location: Berlin
|
Posted: Thu Jan 06, 2011 7:56 pm Post subject: [gelöst] kernel 2.6.37 Big Kernel Lock |
|
|
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 |
|
|
manuels Advocate
Joined: 22 Nov 2003 Posts: 2146 Location: Europe
|
Posted: Thu Jan 06, 2011 8:52 pm Post subject: |
|
|
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 |
|
|
Josef.95 Advocate
Joined: 03 Sep 2007 Posts: 4559 Location: Germany
|
Posted: Fri Jan 07, 2011 1:53 pm Post subject: |
|
|
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 |
|
Back to top |
|
|
franzf Advocate
Joined: 29 Mar 2005 Posts: 4565
|
Posted: Fri Jan 07, 2011 2:04 pm Post subject: |
|
|
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 |
|
|
kernelOfTruth Watchman
Joined: 20 Dec 2005 Posts: 6111 Location: Vienna, Austria; Germany; hello world :)
|
Posted: Fri Jan 07, 2011 2:05 pm Post subject: |
|
|
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 |
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 |
|
Back to top |
|
|
flammenflitzer Advocate
Joined: 25 Nov 2003 Posts: 3487 Location: Berlin
|
Posted: Fri Jan 07, 2011 4:07 pm Post subject: |
|
|
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 |
|
|
Josef.95 Advocate
Joined: 03 Sep 2007 Posts: 4559 Location: Germany
|
Posted: Fri Jan 07, 2011 4:19 pm Post subject: |
|
|
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 |
|
|
kernelOfTruth Watchman
Joined: 20 Dec 2005 Posts: 6111 Location: Vienna, Austria; Germany; hello world :)
|
|
Back to top |
|
|
manuels Advocate
Joined: 22 Nov 2003 Posts: 2146 Location: Europe
|
Posted: Fri Jan 07, 2011 7:06 pm Post subject: |
|
|
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 .
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 |
|
|
SinoTech Advocate
Joined: 20 Mar 2004 Posts: 2579 Location: Neunkirchen / Saarland / Germany
|
Posted: Fri Jan 07, 2011 8:29 pm Post subject: |
|
|
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 |
|
|
mv Watchman
Joined: 20 Apr 2005 Posts: 6747
|
Posted: Fri Jan 07, 2011 8:30 pm Post subject: |
|
|
manuels wrote: | Da scheint es sich wohl ein Kernelentwickler besonders einfach gemacht zu haben . |
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 |
|
|
cryptosteve Veteran
Joined: 04 Jan 2004 Posts: 1169 Location: GER
|
Posted: Fri Jan 07, 2011 8:34 pm Post subject: |
|
|
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 |
|
|
manuels Advocate
Joined: 22 Nov 2003 Posts: 2146 Location: Europe
|
Posted: Fri Jan 07, 2011 11:58 pm Post subject: |
|
|
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 . |
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 _________________ Build your own live cd with catalyst 2.0! |
|
Back to top |
|
|
flammenflitzer Advocate
Joined: 25 Nov 2003 Posts: 3487 Location: Berlin
|
Posted: Sat Jan 08, 2011 9:28 am Post subject: |
|
|
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 |
|
|
Josef.95 Advocate
Joined: 03 Sep 2007 Posts: 4559 Location: Germany
|
Posted: Sat Jan 08, 2011 12:30 pm Post subject: |
|
|
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 |
|
|
SinoTech Advocate
Joined: 20 Mar 2004 Posts: 2579 Location: Neunkirchen / Saarland / Germany
|
Posted: Sat Jan 08, 2011 2:57 pm Post subject: |
|
|
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 |
|
|
Randy Andy Veteran
Joined: 19 Jun 2007 Posts: 1148 Location: /dev/koelsch
|
Posted: Sun Jan 09, 2011 11:16 am Post subject: |
|
|
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)
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 |
|
|
flammenflitzer Advocate
Joined: 25 Nov 2003 Posts: 3487 Location: Berlin
|
Posted: Sun Jan 09, 2011 4:46 pm Post subject: |
|
|
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 |
|
|
manuels Advocate
Joined: 22 Nov 2003 Posts: 2146 Location: Europe
|
|
Back to top |
|
|
flammenflitzer Advocate
Joined: 25 Nov 2003 Posts: 3487 Location: Berlin
|
|
Back to top |
|
|
|