Kernel Bug 2.6.32?

Welches Modul/Treiber für welche Hardware, Kernel compilieren...
Antworten
filou
Beiträge: 190
Registriert: 02.02.2004 21:21:40

Kernel Bug 2.6.32?

Beitrag von filou » 07.04.2010 09:43:24

Moin,

auf einem Debian Lenny mit Kernel 2.6.32.8 stelle ich seit neustem folgende Logeinträge fest:

Code: Alles auswählen

kernel: [3351753.010193] INFO: task mysqld:8464 blocked for more than 120 seconds.
kernel: [3351753.017236] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
kernel: [3351753.025874] mysqld        D 0000000000000000     0  8464   7287 0x00000000
kernel: [3351753.033452]  ffff88063cdfb740 0000000000000086 0000000000000000 000000010000000e
kernel: [3351753.041680]  ffff88019b14d540 000000000000f8a0 ffff88063b673fd8 0000000000014980
kernel: [3351753.049872]  0000000000014980 ffff88063b618140 ffff88063b618428 00000006810b5296
kernel: [3351753.057979] Call Trace:
kernel: [3351753.060807]  [<ffffffffa016ce3b>] ? log_wait_commit+0xbf/0x112 [jbd]
kernel: [3351753.067669]  [<ffffffff8106410a>] ? autoremove_wake_function+0x0/0x2e
kernel: [3351753.074743]  [<ffffffffa017c3f0>] ? ext3_sync_file+0x94/0xc8 [ext3]
kernel: [3351753.081579]  [<ffffffff810fdfdc>] ? vfs_fsync_range+0x73/0x9e
kernel: [3351753.088025]  [<ffffffff810fe086>] ? do_fsync+0x28/0x39
kernel: [3351753.093666]  [<ffffffff810fe0a5>] ? sys_fdatasync+0xe/0x13
kernel: [3351753.099572]  [<ffffffff81010a82>] ? system_call_fastpath+0x16/0x1b
Wobei bei 'INFO: task' nicht immer mysqld steht, sondern auch ab und zu andere Prozesse. Der Kernel ist ein selbstgebauter von kernel.org, da der default Lenny Kernel nicht die Performance brachte, wie erwartet.

Das ganze sieht mir nach einem ?deadlock? aus, oder... :evil:
Zuletzt geändert von filou am 07.04.2010 20:14:43, insgesamt 1-mal geändert.

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: Kernel Bug 2.6.32

Beitrag von rendegast » 07.04.2010 12:40:57

In
http://www.kernel.org/pub/linux/kernel/ ... -2.6.32.11
http://www.kernel.org/pub/linux/kernel/ ... -2.6.32.10
http://www.kernel.org/pub/linux/kernel/ ... g-2.6.32.9
ist bzgl. "sync" nichts in der Richtung.

Eventuell hardware-Fehler?
Platte, Kabel, RAM?
Der Kernel ist ein selbstgebauter ... Performance ...
Noch anderes verändert? RAM-Timings, DMA-Einstellungen? extfs-Einstellungen (zBsp. bzgl. Journal)?
Patches für den Kernel (zBsp. Realtime, Preemption usw.)?
da der default Lenny Kernel nicht die Performance brachte, wie erwartet.
Läuft aber ohne diese Fehler?
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

filou
Beiträge: 190
Registriert: 02.02.2004 21:21:40

Re: Kernel Bug 2.6.32

Beitrag von filou » 07.04.2010 19:37:12

Hi,

also in den Changelogs kann ich darüber leider nichts finden, bzw. in einen Zusammenhang bringen.

Da es sich um sechs baugleich Maschienen handelt, würde ich mal einen HW Fehler ausschließen, da auf allen Hosts dieser Logeintrag zu finden ist.

An den Einstellungen wurde nichts geändert - ein neuerer Kernle wurde gewählt, weil dort sie Schreibperformance mit dem LSI Controller besser ist.

Der orginal Lenny Kernel hatte nie diesen Fehler - aber auch nie die Laufzeit gehabt wie der jetzt aktuelle Kernel.

Habe mit jetzt einen Server gepackt, nen 2.6.33 draufgepackt und werde die Sache mal genauer beobachten, bzw. die Kiste explizit stressen/monitoren.

thx so far..

Edith sagt:
Betrifft zwar kein Bonnie sondern mysql, aber der Bugreport trifft es ziemlich genau:
https://bugzilla.kernel.org/show_bug.cgi?id=15426

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: Kernel Bug 2.6.32?

Beitrag von rendegast » 08.04.2010 22:59:35

Hier habe ich mal Treiber für LSI-Geräte (PCI-ID 1000:....)

Code: Alles auswählen

# modinfo $(modprobe -c  | grep pci:v00001000 | sort | awk '{print $3}' | sort | uniq) | egrep -i "^filename|version" | grep -v vermag
filename:       /lib/modules/2.6.32-3-686-bigmem/kernel/drivers/block/cpqarray.ko
description:    Driver for Compaq Smart2 Array Controllers version 2.6.0
filename:       /lib/modules/2.6.32-3-686-bigmem/kernel/drivers/scsi/megaraid/megaraid_mbox.ko
version:        2.20.5.1
srcversion:     4846B66054D71B69BF4A7D3
filename:       /lib/modules/2.6.32-3-686-bigmem/kernel/drivers/scsi/megaraid/megaraid_sas.ko
version:        00.00.04.01
srcversion:     975F6EB5C9C7E989980A5EE
filename:       /lib/modules/2.6.32-3-686-bigmem/kernel/drivers/scsi/mpt2sas/mpt2sas.ko
version:        02.100.03.00
srcversion:     7915D4E06AD010D1EAC8AA4
filename:       /lib/modules/2.6.32-3-686-bigmem/kernel/drivers/message/fusion/mptfc.ko
version:        3.04.12
srcversion:     92E350C096B75A9714B8B0E
filename:       /lib/modules/2.6.32-3-686-bigmem/kernel/drivers/message/fusion/mptsas.ko
version:        3.04.12
srcversion:     95B9D66239AD0A59BC94D18
filename:       /lib/modules/2.6.32-3-686-bigmem/kernel/drivers/message/fusion/mptspi.ko
version:        3.04.12
srcversion:     A3FC34AB2316FDF2D4E5496
filename:       /lib/modules/2.6.32-3-686-bigmem/kernel/drivers/scsi/sym53c8xx_2/sym53c8xx.ko
version:        2.2.3
srcversion:     9B6A3C92E0A64FEDE295766
filename:       /lib/modules/2.6.32-3-686-bigmem/kernel/drivers/net/yellowfin.ko
Eventuell hilft / reicht der backports 2.6.30 mit seinen Modulen bzgl. Performance und Stabilität?
Auf den 2.6.33 ausweichen ist natürlich auch eine Option.



---------
Nach linux-patch-debian-2.6.32 wurde am megaraid_sas und im fusion/mptscsi.h gepatched,
beim mpt2sas auch (hauptsächlich weitere Geräte hinzugefügt).

Und in diesen Dateien des vanilla-2.6.33 wurde gegenüber dem 2.6.32 gepatched:
$ find -type f | sort -n | egrep "megaraid|fusion|sym53c8"
./Documentation/scsi/ChangeLog.megaraid_sas
./drivers/message/fusion/mptbase.c
./drivers/message/fusion/mptbase.h
./drivers/message/fusion/mptctl.c
./drivers/message/fusion/mptscsih.c
./drivers/message/fusion/mptscsih.h
./drivers/scsi/megaraid.h
./drivers/scsi/megaraid/mbox_defs.h
./drivers/scsi/megaraid/megaraid_mbox.c
./drivers/scsi/megaraid/megaraid_sas.c
./drivers/scsi/megaraid/megaraid_sas.h
./drivers/scsi/sym53c8xx_2/sym_glue.c
./drivers/scsi/sym53c8xx_2/sym_hipd.c
./drivers/scsi/sym53c8xx_2/sym_hipd.h
('find -type f' zeigt mir alle gepatchten Dateien,
der Kernelbaum ist mit 'lndir' aus der Vorversion erstellt und besteht dann erstmal nur aus Links:)

Code: Alles auswählen

$ dpkg-query -S lndir 
xutils-dev: /usr/share/man/man1/lndir.1.gz
xutils-dev: /usr/bin/lndir
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

filou
Beiträge: 190
Registriert: 02.02.2004 21:21:40

Re: Kernel Bug 2.6.32?

Beitrag von filou » 09.04.2010 15:53:02

Danke für deine Mühe,

ich benutze z.Zt. den mptsas (2.6.33)

Code: Alles auswählen

filename:       /lib/modules/2.6.33-2-amd64/kernel/drivers/message/fusion/mptsas.ko
version:        3.04.13
gegenüber den 2.6.32:

Code: Alles auswählen

filename:       /lib/modules/2.6.32.8/kernel/drivers/message/fusion/mptsas.ko
version:        3.04.12
Ich hoffe jetzt mal, dass es damit besser läuft. Aber wenn ich das schon wieder lese: https://bugzilla.kernel.org/show_bug.cgi?id=15688....

Ich will die ICP Vortex wieder haben... :cry:

Benutzeravatar
me
Beiträge: 868
Registriert: 30.10.2005 00:14:23
Lizenz eigener Beiträge: GNU General Public License
Wohnort: Paderborn
Kontaktdaten:

Re: Kernel Bug 2.6.32?

Beitrag von me » 11.04.2010 11:39:57

Auf manchen Servern kann ich das auch für verschiedene Prozesse beobachten, wenn der Server gerade wieder total unter feuert steht. An sich sagt es nichts weiter zB aus, als dass der Prozess länger als 120 Sekunden nun schon geblockt wurde, warum nur dann nicht ;)

Was sagt denn der load und io wait wenn das auftritt?
Anytime if we think we were right,
we were maybe wrong.

filou
Beiträge: 190
Registriert: 02.02.2004 21:21:40

Re: Kernel Bug 2.6.32?

Beitrag von filou » 11.04.2010 14:49:25

me hat geschrieben:Auf manchen Servern kann ich das auch für verschiedene Prozesse beobachten, wenn der Server gerade wieder total unter feuert steht. An sich sagt es nichts weiter zB aus, als dass der Prozess länger als 120 Sekunden nun schon geblockt wurde, warum nur dann nicht ;)

Was sagt denn der load und io wait wenn das auftritt?
Hi,

total 'unter feuer' stehen die Kisten nicht. Der obige 'task mysqld:8464 blocked for more than 120 seconds' trat auf, bei einem befüllen einer Tabelle (inserts) in MySQL auf. Der Insert ist ziemlich banal und sollte eigentlich ruckzug gegessen sein (1Mio Datensätze, ein Prim key).

IO Wait liegt da bei 200-300%, mit 4 Cores + HT. Load bei ca 3 - 6. Ich vermute einfach mal dass der SAS Controller inkl. dem mptsas in der 3.x Version der Quell allen Übels ist.

Benutzeravatar
me
Beiträge: 868
Registriert: 30.10.2005 00:14:23
Lizenz eigener Beiträge: GNU General Public License
Wohnort: Paderborn
Kontaktdaten:

Re: Kernel Bug 2.6.32?

Beitrag von me » 11.04.2010 15:01:29

Ah genau...

Also der I/O Wait ist eindeutig schuld, das Problem kenne ich auch im Zusammenhang mit mptsas und LSI Karten.
Lösung:
Einen neueren Kernel verwenden!
zB haben unsere LSI Karten schon einen I/O Wait von rund 30% wenn die im Idle Zustand sind, der rest ist natürlich dann auch arsch langsam.
Ich weiss nicht ab welcher Kernelversion sich das genau gebessert hat, aber installier einfach mal den Kernel aus Backports in einer Version >= 2.6.30, damit hatten sich die Probleme bei uns verflüchtigt.

Edit:
Du hast ja schon 2.6.32, eventuell noch einmal auf 2.6.30 downgraden?
Anytime if we think we were right,
we were maybe wrong.

filou
Beiträge: 190
Registriert: 02.02.2004 21:21:40

Re: Kernel Bug 2.6.32?

Beitrag von filou » 11.04.2010 15:17:39

Hi,

mittlerweile habe ich den 2.6.33 installiert. Wie mir aber scheint, ist erst das Modul von LSI in der Version v4.18.00.00 performant. Die Module aus den Kernel, inkl. 2.6.33, sind alle noch 3.x.

Angefangen bei dem orginal lenny Kernel, kam bei Bonnie++ eine sagenhafte Schreibgeschwindigkeit von ~35MB/sec raus. Das hat sich mit den neuern Kernel etwas gebessert. Mit dem 2.6.33 hab ich noch keinen bonnie++ Test gefahren, die Werte mit den 2.6.32 lagen da aber immerhin schon bei knappen 70MB/s.

Werde die Tage mal das ganze mit nem Adaptec Controller testen.

Benutzeravatar
KBDCALLS
Moderator
Beiträge: 22447
Registriert: 24.12.2003 21:26:55
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Re: Kernel Bug 2.6.32?

Beitrag von KBDCALLS » 11.04.2010 15:23:16

Oder besorge die Sourcen von LSI und kompiliere das Modul.
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.

EDV ist die Abkürzung für: Ende der Vernunft

Bevor du einen Beitrag postest:
  • Kennst du unsere Verhaltensregeln
  • Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.

Antworten