Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 34422 - New adaptec driver & SMP hangs
Summary: New adaptec driver & SMP hangs
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: x86-kernel@gentoo.org (DEPRECATED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-11-26 09:49 UTC by Alan Hourihane
Modified: 2003-12-07 16:32 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Alan Hourihane 2003-11-26 09:49:26 UTC
When using an SMP kernel and the new adaptec driver the kernel hangs within a 
few disk accesses.

The old aic7xxx driver works.

I'm using the gentoo-sources 2.4.20-gentoo-r8

Reproducible: Always
Steps to Reproduce:
1. Build a kernel with SMP & the new adaptec driver and boot it 
2. access the scsi disks
3.
Comment 1 Tony Vroon (RETIRED) gentoo-dev 2003-11-26 14:42:01 UTC
Okay, what controller chip are we talking about?

I use a dual Pentium Pro 200MHz, an NCR WorldMark, with two Adaptec 7880U controllers on it's mainboard. Works like a charm. (Aside from a few PCI warnings during boot, but that's not SCSI-related).

Does your disk/controller combination work flawlessly in a different kernel version, if so, which one?
Comment 2 Alan Hourihane 2003-11-27 02:25:18 UTC
It's an Intel 440GX Server Motherboard with two 7880 chips on the motherboard.

I'm using the 2.4.20-gentoo-r8 sources, and if I either compile a uni-proc kernel using the new aic7xxx driver it works, or an smp kernel with the old aic7xxx driver it works, but not an smp kernel with the new aic7xxx driver.

I'm using the same sources (i.e. kernel version) for all tests.

I'm using dual PIII 550MHz Katmai's
Comment 3 Tim Yamin (RETIRED) gentoo-dev 2003-11-28 08:33:12 UTC
What do you mean by the 'old' aic7xxxx driver?
Comment 4 Alan Hourihane 2003-11-28 08:45:35 UTC
When you do a make menuconfig or genkernel --config, goto the SCSI drivers.

By default the new AIC7XXX driver is built. If you turn that off, a new option will appear allowing you to build the CONFIG_SCSI_AIC7XXX_OLD=y.

To add furthur, look at linux/drivers/scsi/Config.in and you'll see this code...

source drivers/scsi/aic7xxx/Config.in
if [ "$CONFIG_SCSI_AIC7XXX" != "y" ]; then
  dep_tristate 'Old Adaptec AIC7xxx support' CONFIG_SCSI_AIC7XXX_OLD $CONFIG_SCSI
  ...
  ...
fi

So you can see by default the new AIC7XXX driver is built from linux/drivers/scsi/aic7xxx/
otherwise the files linux/drivers/scsi/aic7xxx_old.c is used.
Comment 5 Alan Hourihane 2003-12-07 16:32:14 UTC
I just emerged gentoo-sources 2.4.22-gentoo-r1 and it works now.

There's something in the changelog for the aic7xxx driver which suggests a locking regressions cause the problem, and fixed in version 6.2.34 of the driver.