Hi, I've problems with my 3ware controller. Havingg heavy I/O load (e.g. running 40 port builds the day over with tinderbox which involves un-taring a whole FreeBSD tree 40 times), my system hangs with the well known swap_pager: indefinite wait buffer: bufobj: 0, blkno: 2, size: 4096 swap_pager: indefinite wait buffer: bufobj: 0, blkno: 2, size: 4096 error. I'v opened a ticket at 3ware and after half a month of dummy-testings (are your drives fine, can you run a stress test), it looks like i was redirected to someone from the 2nd lvl support and he told me: There are 2 things that you can try, 1, disable apic in your bootloader.conf file, or RMA the controller. The error that you have is generally caused by an interrupt problem, defective backplane, bad drive or bad controller. and after I told him that I intend to use the 2 CPUs I have and not falling back to one CPU for ever he responded: Yes I do understand about disabling APIC, but the feature is sometimes not stable in all dual proc systems. There are many variables, the CPU's have to be matched down to the Lot #, the motherboard must have a good design and the kernel supporting APIC must be stable. But, it is a good test to see if it is software or hardware. So what I did now, was compiling a kernel w/o apic/smp and I'm running this configuration now for 3 days stressing the system w/o running into the swap_pager problem. Can it be still a controller problem or is it more likley a problem of FreeBSDs smp/apic implementation or the board I'm using (Intel L440GX). I'm asking because I'm not sure which problem it is now and before telling it 3ware and having them responding "ok it is a FreeBSD problem" or "ok it is a board problem" I'd like to know what can be the case here. (please keep me CCed, I'm not subscribed to smp@) Further information (and the history) on this topic can be found here (and following): http://lists.freebsd.org/pipermail/freebsd-stable/2008-September/045500.html -- Oliver Lehmann http://www.pofo.de/ http://wishlist.ans-netz.de/
On 30/10/2008, at 5:07 AM, Oliver Lehmann wrote:> Hi, > > I've problems with my 3ware controller. Havingg heavy I/O load (e.g. > running 40 port builds the day over with tinderbox which involves > un-taring a whole FreeBSD tree 40 times), my system hangs with the > well > known > > swap_pager: indefinite wait buffer: bufobj: 0, blkno: 2, size: 4096 > swap_pager: indefinite wait buffer: bufobj: 0, blkno: 2, size: 4096I used to get this (FreeBSD 6.1 days) all the time, the controller would just lock up almost on a daily basis (and have to wait for the fsck 4 out of 24 hours in the day). Anyway, I stopped running 3dmd (or 3dm2 I think it's called now) to monitor it, and the crashes went away. It's had hundreds of days uptime since. I've never been game enough to try newer versions of 3dm, but a cronjob of tw_cli allows me to monitor it now without the lockups. Might not be your problem, but it's worth a shot if all else fails.
Scott Long wrote:> or put a spare ATA > drive in the chassis and set it up as a dump partition, then get a > crashdump of the system when it gets into this state.The system is not panicing itself so I've tried debugging some time ago with KDB by panicing it by hand after it got stuck again. Here is what I did back then (but I guess this isn't telling much) http://lists.freebsd.org/pipermail/freebsd-stable/2008-October/045578.html -- Oliver Lehmann http://www.pofo.de/ http://wishlist.ans-netz.de/
Oliver Lehmann wrote:> Hi, > > I've problems with my 3ware controller. Havingg heavy I/O load (e.g. > running 40 port builds the day over with tinderbox which involves > un-taring a whole FreeBSD tree 40 times), my system hangs with the well > known > > swap_pager: indefinite wait buffer: bufobj: 0, blkno: 2, size: 4096 > swap_pager: indefinite wait buffer: bufobj: 0, blkno: 2, size: 4096 > > error. I'v opened a ticket at 3ware and after half a month of > dummy-testings (are your drives fine, can you run a stress test), it > looks like i was redirected to someone from the 2nd lvl support and he > told me: > > There are 2 things that you can try, > 1, disable apic in your bootloader.conf file, or RMA the controller. > > The error that you have is generally caused by an interrupt problem, > defective backplane, bad drive or bad controller. > > and after I told him that I intend to use the 2 CPUs I have and not > falling back to one CPU for ever he responded: > > Yes I do understand about disabling APIC, but the feature is sometimes > not stable in all dual proc systems. There are many variables, the > CPU's have to be matched down to the Lot #, the motherboard must have a > good design and the kernel supporting APIC must be stable. But, it is a > good test to see if it is software or hardware. > > So what I did now, was compiling a kernel w/o apic/smp and I'm running > this configuration now for 3 days stressing the system w/o running into > the swap_pager problem. Can it be still a controller problem or is it > more likley a problem of FreeBSDs smp/apic implementation or the board > I'm using (Intel L440GX). > > I'm asking because I'm not sure which problem it is now and before > telling it 3ware and having them responding "ok it is a FreeBSD problem" > or "ok it is a board problem" I'd like to know what can be the case here. > > (please keep me CCed, I'm not subscribed to smp@) > > Further information (and the history) on this topic can be found here > (and following): > > http://lists.freebsd.org/pipermail/freebsd-stable/2008-September/045500.html > >The probability that it's a problem in the generic interrupt/APIC code in FreeBSD is low. That code has matured quite well over the last 5 years, and it is very solid for just about every other hardware configuration out there. I'd suspect the following things in the following order: 1. Driver bug. Driver might be loosing an interrupt, or might be deadlocking due to coding/design problems. 2. Defective controller 3. Buggy firmware on the controller. FreeBSD does tend to push I/O controllers a lot harder than other OS's, resulting in strange bugs sometimes being found. 4. Defective motherboard. The fact that it's running fine with SMP/APIC disabled could easily mean that it's not taking as high of a load, and is thus avoiding problems. It could also mean that latent bugs in the driver are not being exposed. I don't have a lot of time to spend debugging this, but I'd suggest that you either take up AMCC's offer to RMA the board, or put a spare ATA drive in the chassis and set it up as a dump partition, then get a crashdump of the system when it gets into this state. Scott
On Wednesday 29 October 2008 12:07:28 pm Oliver Lehmann wrote:> Hi, > > I've problems with my 3ware controller. Havingg heavy I/O load (e.g. > running 40 port builds the day over with tinderbox which involves > un-taring a whole FreeBSD tree 40 times), my system hangs with the well > known > > swap_pager: indefinite wait buffer: bufobj: 0, blkno: 2, size: 4096 > swap_pager: indefinite wait buffer: bufobj: 0, blkno: 2, size: 4096 > > error. I'v opened a ticket at 3ware and after half a month of > dummy-testings (are your drives fine, can you run a stress test), it > looks like i was redirected to someone from the 2nd lvl support and he > told me: > > There are 2 things that you can try, > 1, disable apic in your bootloader.conf file, or RMA the controller. > > The error that you have is generally caused by an interrupt problem, > defective backplane, bad drive or bad controller. > > and after I told him that I intend to use the 2 CPUs I have and not > falling back to one CPU for ever he responded: > > Yes I do understand about disabling APIC, but the feature is sometimes > not stable in all dual proc systems. There are many variables, the > CPU's have to be matched down to the Lot #, the motherboard must have a > good design and the kernel supporting APIC must be stable. But, it is a > good test to see if it is software or hardware. > > So what I did now, was compiling a kernel w/o apic/smp and I'm running > this configuration now for 3 days stressing the system w/o running into > the swap_pager problem. Can it be still a controller problem or is it > more likley a problem of FreeBSDs smp/apic implementation or the board > I'm using (Intel L440GX). > > I'm asking because I'm not sure which problem it is now and before > telling it 3ware and having them responding "ok it is a FreeBSD problem" > or "ok it is a board problem" I'd like to know what can be the case here. > > (please keep me CCed, I'm not subscribed to smp@) > > Further information (and the history) on this topic can be found here > (and following): > > http://lists.freebsd.org/pipermail/freebsd-stable/2008-September/045500.htmlFYI, you can disable APIC support w/o recompiling your kernel. Just set 'hint.apic.0.disabled=1' in the loader. If the problem is that the card stops triggering interrupts after being up for a while, then it is likely not a FreeBSD bug. If FreeBSD doesn't get the interrupt routing and setup correct then the card will not work at all starting at boot. You can also try just disabling SMP while leaving APIC enabled by setting 'kern.smp.disabled=1' from the loader. If that fixes the issue, then it may be that the 3ware driver simply has a race condition that is more easily triggered on SMP boxes. -- John Baldwin
Philip Murray wrote:> I used to get this (FreeBSD 6.1 days) all the time, the controller > would just lock up almost on a daily basis (and have to wait for the > fsck 4 out of 24 hours in the day). > > Anyway, I stopped running 3dmd (or 3dm2 I think it's called now) to > monitor it, and the crashes went away. It's had hundreds of days > uptime since. > > I've never been game enough to try newer versions of 3dm, but a > cronjob of tw_cli allows me to monitor it now without the lockups. > > Might not be your problem, but it's worth a shot if all else fails.Ok, it realy looks, like 3dm2 is causing the same problems here too. I've tried several 3dm2 versions and beginning with the version released with 9.1.5.2 the system is crashing on high i/o loads. The previous release included in 9.0.1 and 9.0.2 (made in 2004 iirc) is not crashing. Every release which was made later causes system crashes as well. I'll see what the support staff responds to that.... What cronjobs are you running in particlular to "replace" 3dm2? -- Oliver Lehmann http://www.pofo.de/ http://wishlist.ans-netz.de/
> Jo Rhett wrote: >> The driver logs all useful stuff, and the SEC logfile surfer does a >> good job of notifying you quickly. I can send you an SEC >> configuration for that if you want.On Nov 16, 2008, at 10:06 PM, Oliver Lehmann wrote:> Hm - what is SEC?Simple Event Correlator http://kodu.neti.ee/~risto/sec/ and /usr/ports/sysutils/sec Best damn logsurger evar! *giggle* -- Jo Rhett Net Consonance : consonant endings by net philanthropy, open source and other randomness