Messages in this thread |  | | Date | Fri, 7 Jun 1996 13:10:10 +0100 (BST) | From | Clive Messer <> | Subject | Re: Linux-2.0 |
| |
On Thu, 6 Jun 1996, Linus Torvalds wrote:
> HOWEVER, in the unlikely case that there are still problems, I'd like to > hear about them. We may not be able to fix all the problems in the world > in the last day or two of 2.0 development, but at least we can try. So > consider it your civic duty to bother enough that you try this out, ok?
Did something change in the way interrupts are handled in 1.99.11 ?
Specifically, I seem to be having a problem with unmasking interrupts using 'hdparm -u1', which I have been doing for most of the 1.3 kernels with a UMC8672 controller and now with the ali14xx.
Background:
ide_setup: ide0=autotune ide_setup: ide1=autotune ide_setup: ide0=ali14xxali14xx: base= 0x0f4, regOn= 0x30 hda: QUANTUM FIREBALL1280A, 1222MB w/83kB Cache, LBA, CHS=621/64/63 hda: PIO mode3, t1=120ns, t2=80ns, cycles = 3+1, 3+1 hdc: ST3491A, 408MB w/120kB Cache, CHS=899/15/62 hdc: PIO mode3, t1=180ns, t2=80ns, cycles = 3+3, 3+3 ide0 at 0x1f0-0x1f7,0x3f6 on irq 14 ide1 at 0x170-0x177,0x376 on irq 15
I sent the following to the Oops to linux-kernel after running 1.99.11.
Unable to handle kernel NULL pointer dereference at virtual address c0000018 current->tss.cr3 = 0080b000, %cr3 = 0080b000 *pde = 00102067 *pte = 00000027 Oops: 0000 CPU: 0 EIP: 0010:[<001857e0>] EFLAGS: 00010202 eax: 00008018 ebx: 00000000 ecx: 00000001 edx: 00211238 esi: 00000002 edi: 00000002 ebp: 081801f0 esp: 00970f68 ds: 0018 es: 0018 fs: 002b gs: 002b ss: 0018 Process pine (pid: 2736, process nr: 30, stackpage=00970000) Stack: 00008018 00211244 00185770 081885c0 00211244 00185770 00000001 001105a3 0037ac0c 00e1a001 00008018 00000000 00000002 00008018 00000002 0018693e 00211244 0009e0d8 0000000e 08189388 0010c9e3 0000000e 00008018 00000000 Call Trace: [<00185770>] [<00185770>] [<001105a3>] [<0018693e>] [<0010c9e3>] [<0010c71f>] Code: 8b 73 18 39 74 24 38 73 04 8b 74 24 38 29 74 24 38 eb 12 8d Aiee, killing interrupt handler
Using `/System.map' to map addresses to symbols.
>>EIP: 1857e0 <read_intr+70/190> Trace: 1857e0 <read_intr+70/190> Trace: 1857e0 <read_intr+70/190> Trace: 1105a3 <do_page_fault+163/2d0> Trace: 18693e <ide_intr+3e/70> Trace: 10c9e3 <do_fast_IRQ+23/30> Trace: 10c71f <fast_IRQ14_interrupt+3f/70>
Code: 1857e0 <read_intr+70/190> movl 0x18(%ebx),%esi Code: 1857e3 <read_intr+73/190> cmpl %esi,0x38(%esp,1) Code: 1857e7 <read_intr+77/190> jae 1857ed <read_intr+7d/190> Code: 1857e9 <read_intr+79/190> movl 0x38(%esp,1),%esi Code: 1857ed <read_intr+7d/190> subl %esi,0x38(%esp,1) Code: 1857f1 <read_intr+81/190> jmp 185805 <read_intr+95/190> Code: 1857f3 <read_intr+83/190> leal (%eax),%eax Code: 1857f5 <read_intr+85/190> nop Code: 1857f6 <read_intr+86/190> nop Code: 1857f7 <read_intr+87/190> nop
After several days of running with interupt unmasking turned off, I tried again with 1.99.14. It didn't Oops, but I ended up with a corrupted filesystem. My system log shows the following .....
Jun 7 04:00:42 epos kernel: ector 331796 Jun 7 04:00:42 epos kernel: hda: no DRQ after issuing MULTWRITE Jun 7 04:00:43 epos kernel: hda: status error: status=0x73 { DriveReady DeviceFault SeekComplete Index Error } Jun 7 04:00:43 epos kernel: hda: status error: error=0x6d { UncorrectableError DriveStatusError AddrMarkNotFound }, CHS=28001/14/115, sector=331798 Jun 7 04:00:43 epos kernel: end_request: I/O error, dev 03:02, sector 331798 Jun 7 04:00:43 epos kernel: hda: no DRQ after issuing MULTWRITE Jun 7 04:00:43 epos kernel: hda: status error: status=0x73 { DriveReady DeviceFault SeekComplete Index Error } Jun 7 04:00:43 epos kernel: hda: status error: error=0x6d { UncorrectableError DriveStatusError AddrMarkNotFound }, CHS=28001/14/115, sector=331800 Jun 7 04:00:43 epos kernel: end_request: I/O error, dev 03:02, sector 331800 Jun 7 04:00:43 epos kernel: hda: no DRQ after issuing MULTWRITE Jun 7 04:00:43 epos kernel: hda: status error: status=0x73 { DriveReady DeviceFault SeekComplete Index Error } Jun 7 04:00:43 epos kernel: hda: status error: error=0x6d { UncorrectableError DriveStatusError AddrMarkNotFound }, CHS=28001/14/115, sector=331802 Jun 7 04:00:43 epos kernel: end_request: I/O error, dev 03:02, sector 331802 Jun 7 04:00:43 epos kernel: hda: no DRQ after issuing MULTWRITE Jun 7 04:00:43 epos kernel: hda: status error: status=0x73 { DriveReady DeviceFault SeekComplete Index Error } Jun 7 04:00:43 epos kernel: hda: status error: error=0x6d { UncorrectableError DriveStatusError AddrMarkNotFound }, CHS=28001/14/115, sector=331804 Jun 7 04:00:43 epos kernel: end_request: I/O error, dev 03:02, sector 331804 Jun 7 04:00:43 epos kernel: hda: no DRQ after issuing MULTWRITE Jun 7 04:00:43 epos kernel: hda: status error: status=0x73 { DriveReady DeviceFault SeekComplete Index Error } Jun 7 04:00:43 epos kernel: hda: status error: error=0x6d { UncorrectableError DriveStatusError AddrMarkNotFound }, CHS=28001/14/115, sector=331806 Jun 7 04:00:43 epos kernel: end_request: I/O error, dev 03:02, sector 331806 Jun 7 04:00:43 epos kernel: hda: no DRQ after issuing MULTWRITE Jun 7 04:00:43 epos kernel: hda: status error: status=0x73 { DriveReady DeviceFault SeekComplete Index Error } Jun 7 04:00:43 epos kernel: hda: status error: error=0x6d { UncorrectableError DriveStatusError AddrMarkNotFound }, CHS=28001/14/115, sector=331808 Jun 7 04:00:43 epos kernel: end_request: I/O error, dev 03:02, sector 331808 Jun 7 04:00:43 epos kernel: hda: no DRQ after issuing MULTWRITE Jun 7 04:00:43 epos kernel: hda: status error: status=0x73 { DriveReady DeviceFault SeekComplete Index Error } Jun 7 04:00:43 epos kernel: hda: status error: error=0x6d { UncorrectableError DriveStatusError AddrMarkNotFound }, CHS=28001/14/115, sector=331810 Jun 7 04:00:43 epos kernel: end_request: I/O error, dev 03:02, sector 331810 Jun 7 04:00:43 epos kernel: hda: no DRQ after issuing MULTWRITE Jun 7 04:00:43 epos kernel: hda: status error: status=0x73 { DriveReady DeviceFault SeekComplete Index Error } Jun 7 04:00:43 epos kernel: hda: status error: error=0x6d { UncorrectableError DriveStatusError AddrMarkNotFound }, CHS=28001/14/115, sector=331812 Jun 7 04:00:43 epos kernel: end_request: I/O error, dev 03:02, sector 331812 Jun 7 04:00:43 epos kernel: hda: no DRQ after issuing MULTWRITE Jun 7 04:00:43 epos kernel: hda: status error: status=0x73 { DriveReady DeviceFault SeekComplete Index Error } Jun 7 04:00:43 epos kernel: hda: status error: error=0x6d { UncorrectableError DriveStatusError AddrMarkNotFound }, CHS=28001/14/115, sector=331814 Jun 7 04:00:43 epos kernel: end_request: I/O error, dev 03:02, sector 331814 Jun 7 04:00:43 epos kernel: hda: no DRQ after issuing MULTWRITE Jun 7 04:00:43 epos kernel: hda: status error: status=0x73 { DriveReady DeviceFault SeekComplete Index Error } Jun 7 04:00:43 epos kernel: hda: status error: error=0x6d { UncorrectableError DriveStatusError AddrMarkNotFound }, CHS=28001/14/115, sector=331816 Jun 7 04:00:43 epos kernel: end_request: I/O error, dev 03:02, sector 331816 Jun 7 04:00:43 epos kernel: hda: no DRQ after issuing MULTWRITE Jun 7 04:00:43 epos kernel: hda: status error: status=0x73 { DriveReady DeviceFault SeekComplete Index Error } Jun 7 04:00:43 epos kernel: hda: status error: error=0x6d { UncorrectableError DriveStatusError AddrMarkNotFound }, CHS=28001/14/115, sector=331818 Jun 7 04:00:43 epos kernel: end_request: I/O error, dev 03:02, sector 331818 Jun 7 04:00:43 epos kernel: hda: no DRQ after issuing MULTWRITE Jun 7 04:00:43 epos kernel: hda: status error: status=0x73 { DriveReady DeviceFault SeekComplete Index Error } Jun 7 04:00:43 epos kernel: hda: status error: error=0x6d { UncorrectableError DriveStatusError AddrMarkNotFound }, CHS=28001/14/115, sector=331820 Jun 7 04:00:43 epos kernel: end_request: I/O error, dev 03:02, sector 331820 Jun 7 04:00:43 epos kernel: hda: no DRQ after issuing MULTWRITE Jun 7 04:00:43 epos kernel: hda: status error: status=0x73 { DriveReady DeviceFault SeekComplete Index Error } Jun 7 04:00:43 epos kernel: hda: status error: error=0x6d { UncorrectableError DriveStatusError AddrMarkNotFound }, CHS=28001/14/115, sector=331822 Jun 7 04:00:43 epos kernel: end_request: I/O error, dev 03:02, sector 331822 Jun 7 04:00:43 epos kernel: hda: no DRQ after issuing MULTWRITE Jun 7 04:00:43 epos kernel: hda: status error: status=0x73 { DriveReady DeviceFault SeekComplete Index Error } Jun 7 04:00:43 epos kernel: hda: status error: error=0x6d { UncorrectableError DriveStatusError AddrMarkNotFound }, CHS=28001/14/115, sector=331824 Jun 7 04:00:43 epos kernel: end_request: I/O error, dev 03:02, sector 331824 Jun 7 04:00:43 epos kernel: hda: no DRQ after issuing MULTWRITE Jun 7 04:00:43 epos kernel: hda: status error: status=0x73 { DriveReady DeviceFault SeekComplete Index Error } Jun 7 04:00:43 epos kernel: hda: status error: error=0x6d { UncorrectableError DriveStatusError AddrMarkNotFound }, CHS=28001/14/115, sector=331826 Jun 7 04:00:43 epos kernel: end_request: I/O error, dev 03:02, sector 331826 Jun 7 04:00:43 epos kernel: hda: no DRQ after issuing MULTWRITE Jun 7 04:00:43 epos kernel: hda: status error: status=0x73 { DriveReady DeviceFault SeekComplete Index Error } Jun 7 04:00:43 epos kernel: hda: status error: error=0x6d { UncorrectableError DriveStatusError AddrMarkNotFound }, CHS=28001/14/115, sector=331844 Jun 7 04:00:43 epos kernel: end_request: I/O error, dev 03:02, sector 331844 Jun 7 04:00:43 epos kernel: hda: no DRQ after issuing MULTWRITE Jun 7 04:00:43 epos kernel: hda: status error: status=0x73 { DriveReady DeviceFault SeekComplete Index Error } Jun 7 04:00:43 epos kernel: hda: status error: error=0x6d { UncorrectableError DriveStatusError AddrMarkNotFound }, CHS=28001/14/115, sector=331846 Jun 7 04:00:43 epos kernel: end_request: I/O error, dev 03:02, sector 331846 Jun 7 04:00:43 epos kernel: hda: no DRQ after issuing MULTWRITE Jun 7 04:00:43 epos kernel: hda: status error: status=0x73 { DriveReady DeviceFault SeekComplete Index Error } Jun 7 04:00:43 epos kernel: hda: status error: error=0x6d { UncorrectableError DriveStatusError AddrMarkNotFound }, CHS=28001/14/115, sector=331848 Jun 7 04:00:43 epos kernel: end_request: I/O error, dev 03:02, sector 331848 Jun 7 04:00:43 epos kernel: hda: no DRQ after issuing MULTWRITE Jun 7 04:00:43 epos kernel: hda: status error: status=0x73 { DriveReady DeviceFault SeekComplete Index Error } Jun 7 04:00:43 epos kernel: hda: status error: error=0x6d { UncorrectableError DriveStatusError AddrMarkNotFound }, CHS=28001/14/115, sector=331850 Jun 7 04:00:43 epos kernel: end_request: I/O error, dev 03:02, sector 331850 Jun 7 04:00:43 epos kernel: hda: no DRQ after issuing MULTWRITE Jun 7 04:00:43 epos kernel: hda: status error: status=0x73 { DriveReady DeviceFault SeekComplete Index Error } Jun 7 04:00:43 epos kernel: hda: status error: error=0x6d { UncorrectableError DriveStatusError AddrMarkNotFound }, CHS=28001/14/115, sector=331852 Jun 7 04:00:43 epos kernel: end_request: I/O error, dev 03:02, sector 331852 Jun 7 04:00:43 epos kernel: hda: no DRQ after issuing MULTWRITE Jun 7 04:00:43 epos kernel: hda: status error: status=0x73 { DriveReady DeviceFault SeekComplete Index Error } Jun 7 04:00:43 epos kernel: hda: status error: error=0x6d { UncorrectableError DriveStatusError AddrMarkNotFound }, CHS=28001/14/115, sector=331854 Jun 7 04:00:43 epos kernel: end_request: I/O error, dev 03:02, sector 331854 Jun 7 04:00:43 epos kernel: hda: no DRQ after issuing MULTWRITE Jun 7 04:00:43 epos kernel: hda: status error: status=0x73 { DriveReady DeviceFault SeekComplete Index Error } Jun 7 04:00:43 epos kernel: hda: status error: error=0x6d { UncorrectableError DriveStatusError AddrMarkNotFound }, CHS=28001/14/115, sector=360468 Jun 7 04:00:43 epos kernel: end_request: I/O error, dev 03:03, sector 360468 Jun 7 04:00:43 epos kernel: hda: no DRQ after issuing MULTWRITE Jun 7 04:00:43 epos kernel: hda: status error: status=0x73 { DriveReady DeviceFault SeekComplete Index Error } Jun 7 04:00:43 epos kernel: hda: status error: error=0x6d { UncorrectableError DriveStatusError AddrMarkNotFound }, CHS=28001/14/115, sector=540730 Jun 7 04:00:43 epos kernel: end_request: I/O error, dev 03:03, sector 540730 Jun 7 04:00:43 epos kernel: hda: no DRQ after issuing MULTWRITE Jun 7 04:00:43 epos kernel: hda: status error: status=0x73 { DriveReady DeviceFault SeekComplete Index Error } Jun 7 04:00:43 epos kernel: hda: status error: error=0x6d { UncorrectableError DriveStatusError AddrMarkNotFound }, CHS=28001/14/115, sector=540742 Jun 7 04:00:43 epos kernel: end_request: I/O error, dev 03:03, sector 540742 Jun 7 04:00:43 epos kernel: hda: no DRQ after issuing MULTWRITE Jun 7 04:00:43 epos kernel: hda: status error: status=0x73 { DriveReady DeviceFault SeekComplete Index Error } Jun 7 04:00:43 epos kernel: hda: status error: error=0x6d { UncorrectableError DriveStatusError AddrMarkNotFound }, CHS=28001/14/115, sector=770096 Jun 7 04:00:43 epos kernel: end_request: I/O error, dev 03:03, sector 770096 Jun 7 04:00:43 epos kernel: hda: no DRQ after issuing MULTWRITE Jun 7 04:00:43 epos kernel: hda: status error: status=0x73 { DriveReady DeviceFault SeekComplete Index Error } Jun 7 04:00:43 epos kernel: hda: status error: error=0x6d { UncorrectableError DriveStatusError AddrMarkNotFound }, CHS=28001/14/115, sector=802962 Jun 7 04:00:43 epos kernel: end_request: I/O error, dev 03:03, sector 802962 Jun 7 04:00:43 epos kernel: hda: no DRQ after issuing MULTWRITE Jun 7 04:00:43 epos kernel: hda: status error: status=0x73 { DriveReady DeviceFault SeekComplete Index Error } Jun 7 04:00:43 epos kernel: hda: status error: error=0x6d { UncorrectableError DriveStatusError AddrMarkNotFound }, CHS=28001/14/115, sector=868384 Jun 7 04:00:43 epos kernel: end_request: I/O error, dev 03:03, sector 868384 Jun 7 04:00:43 epos kernel: hda: no DRQ after issuing MULTWRITE Jun 7 04:00:43 epos kernel: hdc: read_intr: status=0xd0 { Busy } Jun 7 04:00:43 epos kernel: ide1: reset: success Jun 7 04:01:08 epos kernel: hdc: read_intr: status=0x50 { DriveReady SeekComplete } Jun 7 04:01:18 epos kernel: hdc: irq timeout: status=0x58 { DriveReady SeekComplete DataRequest } Jun 7 04:56:50 epos kernel: EXT2-fs warning (device 03:02): ext2_free_blocks: bit already cleared for block 164444 Jun 7 04:56:50 epos kernel: EXT2-fs warning (device 03:02): ext2_free_inode: bit already cleared for inode 40539 Jun 7 04:56:50 epos kernel: EXT2-fs warning (device 03:02): ext2_free_inode: bit already cleared for inode 40541 Jun 7 04:59:19 epos kernel: EXT2-fs warning (device 03:02): ext2_free_inode: bit already cleared for inode 40541 Jun 7 04:59:19 epos kernel: EXT2-fs warning (device 03:02): ext2_free_blocks: bit already cleared for block 164444 Jun 7 04:59:19 epos kernel: EXT2-fs warning (device 03:02): ext2_free_inode: bit already cleared for inode 40539
I know that the documentation warns against unmasking interupts, but as I said before I have not had any problems with it prior to 1.99.11. If this could be fixed before 2.0 it would be useful.
Clive. -- C Messer. Epos Systems. UK. | <clive@epos.demon.co.uk> | "I pressed her thigh and death smiled." <clive@epos.easynet.co.uk> | Jim Morrison.
|  |