Skip to contentSkip to conversation

sym2 probs in bk-scsi tree

DISCUSSION Andrew Morton 4 participants 8 messages Apr 8, 2004 SCSI

lore
Share & tools
lore
#0 lore raw

This is on the power4 machine, which has previously worked quite happily.

During boot the system spends maybe one minute dicking with the SCSI controller and emitting scary new reset and abort messages.

scsi(0:0:10:0): Beginning Domain Validation
sym0:10: wide asynchronous.
sym0:10: FAST-80 WIDE SCSI 160.0 MB/s DT (12.5 ns, offset 31) scsi(0:0:10:0): Ending Domain Validation
Vendor: IBM Model: IC35L036UCD210-0 Rev: S5BS
Type: Direct-Access ANSI SCSI revision: 03
sym0:11:0: tagged command queuing enabled, command queue depth 16. scsi(0:0:11:0): Beginning Domain Validation
sym0:11: wide asynchronous.
sym0:11: FAST-80 WIDE SCSI 160.0 MB/s DT (12.5 ns, offset 31) scsi(0:0:11:0): Ending Domain Validation
Vendor: IBM Model: HSBPD4E PU3SCSI Rev: 0013
Type: Enclosure ANSI SCSI revision: 02
scsi(0:0:15:0): Beginning Domain Validation sym0:15:0:phase change 6-7 6@28050390 resid=4. sym0:15:0:phase change 6-7 5@28050390 resid=3. sym0:15:0:phase change 6-7 9@28050390 resid=7. sym0:15:0:phase change 6-7 6@28050390 resid=4. sym0:15:0: DEVICE RESET operation started.
sym0:15:0: DEVICE RESET operation complete. sym0:15:control msgout: c.
sym0: TARGET 15 has been reset.
sym0:15:0: ABORT operation started.
sym0:15:0: ABORT operation complete.
sym0:15:0: BUS RESET operation started.
sym0:15:0: BUS RESET operation complete.
sym0: SCSI BUS reset detected.
sym0: SCSI BUS has been reset.
sym0:15:0: DEVICE RESET operation started.
sym0:15:0: DEVICE RESET operation complete. sym0:15:control msgout: c.
sym0: TARGET 15 has been reset.
sym0:15:0: ABORT operation started.
sym0:15:0: ABORT operation complete.
sym0:15:0: BUS RESET operation started.
sym0:15:0: BUS RESET operation complete.
sym0: SCSI BUS reset detected.
sym0: SCSI BUS has been reset.
sym0:15:0: DEVICE RESET operation started.
sym0:15:0: DEVICE RESET operation complete. sym0:15:control msgout: c.
sym0: TARGET 15 has been reset.
sym0:15:0: ABORT operation started.
sym0:15:0: ABORT operation complete.
sym0:15:0: BUS RESET operation started.
sym0:15:0: BUS RESET operation complete.
sym0: SCSI BUS reset detected.
sym0: SCSI BUS has been reset.
scsi(0:0:15:0): Domain Validation skipping write tests scsi(0:0:15:0): Ending Domain Validation
sym1: <1010-66> rev 0x1 at pci 0000:41:01.1 irq 104
sym1: No NVRAM, ID 7, Fast-80, LVD, parity checking
sym1: SCSI BUS has been reset.
scsi1 : sym-2.1.18j
sym2: <875> rev 0x3 at pci 0001:21:01.0 irq 117
sym2: No NVRAM, ID 7, Fast-20, SE, parity checking
sym2: SCSI BUS has been reset.
scsi2 : sym-2.1.18j
st: Version 20040318, fixed bufsize 32768, s/g segs 256 SCSI device sda: 71096640 512-byte hdwr sectors (36401 MB) SCSI device sda: drive cache: write through
sda: sda1 sda2 sda3 sda4 < sda5 >

#1 lore raw
Quoted 4 lines · Andrew Morton

This is on the power4 machine, which has previously worked quite happily.

During boot the system spends maybe one minute dicking with the SCSI controller and emitting scary new reset and abort messages.

They certainly are scary. What is device 15 on this scsi bus? This looks like domain validation being applied to a device that can't do it to me. Did I get that right, James?

Quoted 62 lines

scsi(0:0:10:0): Beginning Domain Validation
sym0:10: wide asynchronous.
sym0:10: FAST-80 WIDE SCSI 160.0 MB/s DT (12.5 ns, offset 31) scsi(0:0:10:0): Ending Domain Validation
Vendor: IBM Model: IC35L036UCD210-0 Rev: S5BS
Type: Direct-Access ANSI SCSI revision: 03
sym0:11:0: tagged command queuing enabled, command queue depth 16. scsi(0:0:11:0): Beginning Domain Validation
sym0:11: wide asynchronous.
sym0:11: FAST-80 WIDE SCSI 160.0 MB/s DT (12.5 ns, offset 31) scsi(0:0:11:0): Ending Domain Validation
Vendor: IBM Model: HSBPD4E PU3SCSI Rev: 0013
Type: Enclosure ANSI SCSI revision: 02
scsi(0:0:15:0): Beginning Domain Validation sym0:15:0:phase change 6-7 6@28050390 resid=4. sym0:15:0:phase change 6-7 5@28050390 resid=3. sym0:15:0:phase change 6-7 9@28050390 resid=7. sym0:15:0:phase change 6-7 6@28050390 resid=4. sym0:15:0: DEVICE RESET operation started.
sym0:15:0: DEVICE RESET operation complete. sym0:15:control msgout: c.
sym0: TARGET 15 has been reset.
sym0:15:0: ABORT operation started.
sym0:15:0: ABORT operation complete.
sym0:15:0: BUS RESET operation started.
sym0:15:0: BUS RESET operation complete.
sym0: SCSI BUS reset detected.
sym0: SCSI BUS has been reset.
sym0:15:0: DEVICE RESET operation started.
sym0:15:0: DEVICE RESET operation complete. sym0:15:control msgout: c.
sym0: TARGET 15 has been reset.
sym0:15:0: ABORT operation started.
sym0:15:0: ABORT operation complete.
sym0:15:0: BUS RESET operation started.
sym0:15:0: BUS RESET operation complete.
sym0: SCSI BUS reset detected.
sym0: SCSI BUS has been reset.
sym0:15:0: DEVICE RESET operation started.
sym0:15:0: DEVICE RESET operation complete. sym0:15:control msgout: c.
sym0: TARGET 15 has been reset.
sym0:15:0: ABORT operation started.
sym0:15:0: ABORT operation complete.
sym0:15:0: BUS RESET operation started.
sym0:15:0: BUS RESET operation complete.
sym0: SCSI BUS reset detected.
sym0: SCSI BUS has been reset.
scsi(0:0:15:0): Domain Validation skipping write tests scsi(0:0:15:0): Ending Domain Validation
sym1: <1010-66> rev 0x1 at pci 0000:41:01.1 irq 104
sym1: No NVRAM, ID 7, Fast-80, LVD, parity checking
sym1: SCSI BUS has been reset.
scsi1 : sym-2.1.18j
sym2: <875> rev 0x3 at pci 0001:21:01.0 irq 117
sym2: No NVRAM, ID 7, Fast-20, SE, parity checking
sym2: SCSI BUS has been reset.
scsi2 : sym-2.1.18j
st: Version 20040318, fixed bufsize 32768, s/g segs 256 SCSI device sda: 71096640 512-byte hdwr sectors (36401 MB) SCSI device sda: drive cache: write through
sda: sda1 sda2 sda3 sda4 < sda5 >

Signature · 6 lines
"Next the statesmen will invent cheap lies, putting the blame upon 
the nation that is attacked, and every man will be glad of those
conscience-soothing falsities, and will diligently study them, and refuse
to examine any refutations of them; and thus he will by and by convince 
himself that the war is just, and will thank God for the better sleep 
he enjoys after this process of grotesque self-deception." -- Mark Twain
#2 lore raw
Quoted 11 lines · Matthew Wilcox
Quoted 4 lines · Andrew Morton

This is on the power4 machine, which has previously worked quite happily.

During boot the system spends maybe one minute dicking with the SCSI controller and emitting scary new reset and abort messages.

They certainly are scary. What is device 15 on this scsi bus? This looks like domain validation being applied to a device that can't do it to me. Did I get that right, James?

Looks like a SES to me. Would it make sense to not log errors during domain validation?

-Brian

#3 lore raw
Quoted 6 lines · Brian King
Quoted 3 lines

They certainly are scary. What is device 15 on this scsi bus? This looks like domain validation being applied to a device that can't do it to me. Did I get that right, James?

Looks like a SES to me. Would it make sense to not log errors during domain validation?

I was thinking more about disabling domain validation towards these kinds of devices ...

Signature · 6 lines
"Next the statesmen will invent cheap lies, putting the blame upon 
the nation that is attacked, and every man will be glad of those
conscience-soothing falsities, and will diligently study them, and refuse
to examine any refutations of them; and thus he will by and by convince 
himself that the war is just, and will thank God for the better sleep 
he enjoys after this process of grotesque self-deception." -- Mark Twain
#4 lore raw
Quoted 6 lines · Matthew Wilcox
Quoted 4 lines · Brian King
Quoted 3 lines

They certainly are scary. What is device 15 on this scsi bus? This looks like domain validation being applied to a device that can't do it to me. Did I get that right, James?

Quoted 6 lines
Quoted 1 line

Looks like a SES to me. Would it make sense to not log errors during domain validation?

I was thinking more about disabling domain validation towards these kinds of devices ...

That would be a resonable thing to do as well, performance to SES devices is really not an issue.

-Brian

#5 lore raw
In reply to Matthew Wilcox
Quoted 3 lines · Matthew Wilcox

They certainly are scary. What is device 15 on this scsi bus? This looks like domain validation being applied to a device that can't do it to me. Did I get that right, James?

Actually, it might be a driver issue; I'll have to look. I suspect the SES device probably said it didn't support either wide or sync in its inquiry return; we went ahead and tried negotiating anyway and it got confused.

James

#6 lore raw
In reply to Matthew Wilcox
Quoted 3 lines · Matthew Wilcox

They certainly are scary. What is device 15 on this scsi bus? This looks like domain validation being applied to a device that can't do it to me. Did I get that right, James?

OK, try the attached, it should predicate DV on what we already know from the inquiry data.

James

===== drivers/scsi/scsi_transport_spi.c 1.9 vs edited =====

drivers/scsi/scsi_transport_spi.c +5 -1
@@ -490,7 +490,7 @@
 	}
 
 	/* test width */
-	if (i->f->set_width) {
+	if (i->f->set_width && sdev->wdtr) {
 		i->f->set_width(sdev, 1);
 
 		if (!spi_dv_device_compare_inquiry(sreq, buffer,
@@ -502,6 +502,10 @@
 	}
 
 	if (!i->f->set_period)
+		return;
+
+	/* device can't handle synchronous */
+	if(!sdev->ppr && !sdev->sdtr)
 		return;
 
 	/* now set up to the maximum */
#7 lore raw
Quoted 24 lines · James Bottomley
Quoted 3 lines · Matthew Wilcox

They certainly are scary. What is device 15 on this scsi bus? This looks like domain validation being applied to a device that can't do it to me. Did I get that right, James?

OK, try the attached, it should predicate DV on what we already know from the inquiry data.

James

===== drivers/scsi/scsi_transport_spi.c 1.9 vs edited =====

drivers/scsi/scsi_transport_spi.c +1 -1
@@ -490,7 +490,7 @@
 	}
 
 	/* test width */
-	if (i->f->set_width) {
+	if (i->f->set_width && sdev->wdtr) {
 		i->f->set_width(sdev, 1);
 
 		if (!spi_dv_device_compare_inquiry(sreq, buffer,

drivers/scsi/scsi_transport_spi.c line 511

Quoted 10 lines
drivers/scsi/scsi_transport_spi.c +4 -0
@@ -502,6 +502,10 @@
 	}
 
 	if (!i->f->set_period)
+		return;
+
+	/* device can't handle synchronous */
+	if(!sdev->ppr && !sdev->sdtr)
 		return;
 
 	/* now set up to the maximum */

Yup, that makes the pauses and scary messages go away, thanks.

fwiw, here's the scsi-related part of dmesg:

sym0: <1010-66> rev 0x1 at pci 0000:41:01.0 irq 103
sym0: No NVRAM, ID 7, Fast-80, LVD, parity checking
sym0: SCSI BUS has been reset.
scsi0 : sym-2.1.18j
DEV: registering device: ID = 'host0'
CLASS: registering class device: ID = 'host0' class_hotplug - name = host0
Vendor: IBM Model: IC35L036UCD210-0 Rev: S5BS
Type: Direct-Access ANSI SCSI revision: 03
sym0:8:0: tagged command queuing enabled, command queue depth 16. scsi(0:0:8:0): Beginning Domain Validation
sym0:8: wide asynchronous.
sym0:8: FAST-80 WIDE SCSI 160.0 MB/s DT (12.5 ns, offset 31) scsi(0:0:8:0): Ending Domain Validation
DEV: registering device: ID = '0:0:8:0'
bus scsi: add device 0:0:8:0
CLASS: registering class device: ID = '0:0:8:0' class_hotplug - name = 0:0:8:0
CLASS: registering class device: ID = '0:0:8:0' class_hotplug - name = 0:0:8:0
Vendor: IBM Model: IC35L036UCD210-0 Rev: S5BS
Type: Direct-Access ANSI SCSI revision: 03
sym0:9:0: tagged command queuing enabled, command queue depth 16. scsi(0:0:9:0): Beginning Domain Validation
sym0:9: wide asynchronous.
sym0:9: FAST-80 WIDE SCSI 160.0 MB/s DT (12.5 ns, offset 31) scsi(0:0:9:0): Ending Domain Validation
DEV: registering device: ID = '0:0:9:0'
bus scsi: add device 0:0:9:0
CLASS: registering class device: ID = '0:0:9:0' class_hotplug - name = 0:0:9:0
CLASS: registering class device: ID = '0:0:9:0' class_hotplug - name = 0:0:9:0
Vendor: IBM Model: IC35L036UCD210-0 Rev: S5BS
Type: Direct-Access ANSI SCSI revision: 03
sym0:10:0: tagged command queuing enabled, command queue depth 16. scsi(0:0:10:0): Beginning Domain Validation
sym0:10: wide asynchronous.
sym0:10: FAST-80 WIDE SCSI 160.0 MB/s DT (12.5 ns, offset 31) scsi(0:0:10:0): Ending Domain Validation
DEV: registering device: ID = '0:0:10:0'
bus scsi: add device 0:0:10:0
CLASS: registering class device: ID = '0:0:10:0' class_hotplug - name = 0:0:10:0
CLASS: registering class device: ID = '0:0:10:0' class_hotplug - name = 0:0:10:0
Vendor: IBM Model: IC35L036UCD210-0 Rev: S5BS
Type: Direct-Access ANSI SCSI revision: 03
sym0:11:0: tagged command queuing enabled, command queue depth 16. scsi(0:0:11:0): Beginning Domain Validation
sym0:11: wide asynchronous.
sym0:11: FAST-80 WIDE SCSI 160.0 MB/s DT (12.5 ns, offset 31) scsi(0:0:11:0): Ending Domain Validation
DEV: registering device: ID = '0:0:11:0'
bus scsi: add device 0:0:11:0
CLASS: registering class device: ID = '0:0:11:0' class_hotplug - name = 0:0:11:0
CLASS: registering class device: ID = '0:0:11:0' class_hotplug - name = 0:0:11:0
Vendor: IBM Model: HSBPD4E PU3SCSI Rev: 0013
Type: Enclosure ANSI SCSI revision: 02
scsi(0:0:15:0): Beginning Domain Validation sym0:15:0:phase change 6-7 6@28050390 resid=4. scsi(0:0:15:0): Ending Domain Validation
DEV: registering device: ID = '0:0:15:0'
bus scsi: add device 0:0:15:0
CLASS: registering class device: ID = '0:0:15:0' class_hotplug - name = 0:0:15:0
CLASS: registering class device: ID = '0:0:15:0' class_hotplug - name = 0:0:15:0
bound device '0000:41:01.0' to driver 'sym53c8xx'
PCI: Enabling device: (0000:41:01.1), cmd 143
sym1: <1010-66> rev 0x1 at pci 0000:41:01.1 irq 104
sym1: No NVRAM, ID 7, Fast-80, LVD, parity checking
sym1: SCSI BUS has been reset.
scsi1 : sym-2.1.18j
DEV: registering device: ID = 'host1'
CLASS: registering class device: ID = 'host1' class_hotplug - name = host1
bound device '0000:41:01.1' to driver 'sym53c8xx'
PCI: Enabling device: (0001:21:01.0), cmd 143
sym2: <875> rev 0x3 at pci 0001:21:01.0 irq 117
sym2: No NVRAM, ID 7, Fast-20, SE, parity checking
sym2: SCSI BUS has been reset.
scsi2 : sym-2.1.18j
DEV: registering device: ID = 'host2'
CLASS: registering class device: ID = 'host2'
...
device class 'scsi_tape': registering
bus scsi: add driver st
bus scsi: add driver sd
SCSI device sda: 71096640 512-byte hdwr sectors (36401 MB) SCSI device sda: drive cache: write through
sda: sda1 sda2 sda3 sda4 < sda5 >
Attached scsi disk sda at scsi0, channel 0, id 8, lun 0 bound device '0:0:8:0' to driver 'sd'
SCSI device sdb: 71096640 512-byte hdwr sectors (36401 MB) SCSI device sdb: drive cache: write through
sdb: sdb1 < sdb5 >
Attached scsi disk sdb at scsi0, channel 0, id 9, lun 0 bound device '0:0:9:0' to driver 'sd'
SCSI device sdc: 71096640 512-byte hdwr sectors (36401 MB) SCSI device sdc: drive cache: write through
sdc: sdc1 < sdc5 >
Attached scsi disk sdc at scsi0, channel 0, id 10, lun 0 bound device '0:0:10:0' to driver 'sd'
SCSI device sdd: 71096640 512-byte hdwr sectors (36401 MB) SCSI device sdd: drive cache: write through
sdd: sdd1 sdd2 sdd3 sdd4 < sdd5 >
Attached scsi disk sdd at scsi0, channel 0, id 11, lun 0 bound device '0:0:11:0' to driver 'sd'
bus scsi: add driver sr
device class 'scsi_generic': registering
CLASS: registering class device: ID = 'sg0'
class_hotplug - name = sg0
Attached scsi generic sg0 at scsi0, channel 0, id 8, lun 0, type 0
CLASS: registering class device: ID = 'sg1'
class_hotplug - name = sg1
Attached scsi generic sg1 at scsi0, channel 0, id 9, lun 0, type 0
CLASS: registering class device: ID = 'sg2'
class_hotplug - name = sg2
Attached scsi generic sg2 at scsi0, channel 0, id 10, lun 0, type 0
CLASS: registering class device: ID = 'sg3'
class_hotplug - name = sg3
Attached scsi generic sg3 at scsi0, channel 0, id 11, lun 0, type 0
CLASS: registering class device: ID = 'sg4'
class_hotplug - name = sg4
Attached scsi generic sg4 at scsi0, channel 0, id 15, lun 0, type 13