Messages in this thread |  | | Date | Sun, 16 Sep 2001 11:55:28 -0400 | From | Douglas Gilbert <> | Subject | Re: OOPS in scsi generic stuff 2.4.10-pre6 |
| |
lkml@krimedawg.org <<nameless>> wrote: > The ksymoops output. Let me know if there is anything else I can offer > to help? This happened when ripping a cd with cdparanoia on an IDE drive > with the ide-scsi stuff.
....
> >>EIP; c01b7688 <generic_unplug_device+8/30> <===== > Trace; c01f8fe6 <sg_common_write+1d6/1f0> > Trace; c01f9bc0 <sg_cmd_done_bh+0/280> #### bizarre > Trace; c01f8c16 <sg_write+256/280>
generic_unplug_device() was an addition into the sg driver by Jens Axboe. Under heavy stress testing I have also received an oops from this function.
It is there because the tentacles of the Linux block subsystem have found their way into the the SCSI midlevel. The st and sg drivers are proof of why this is bad design as they are char devices.
If the generic_unplug_device() call is removed then the sg driver will periodically have its commands suspended on the SCSI mid level queue until the block subsystem decides to send something to the device in question. This can be seconds (which isn't a pleasant thing to do to a cdwriter).
Doug Gilbert
Oops output: vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv Unable to handle kernel paging request at virtual address 0a080294 c01b7688 *pde = 00000000 Oops: 0000 CPU: 0 EIP: 0010:[<c01b7688>] Using defaults from ksymoops -t elf32-i386 -a i386 EFLAGS: 00210002 eax: 0a08021c ebx: 00200202 ecx: 00000010 edx: 0a08021c esi: e6634064 edi: e6634040 ebp: c1bc8940 esp: d55bfefc ds: 0018 es: 0018 ss: 0018 Process cdparanoia (pid: 3380, stackpage=d55bf000) Stack: ea8bfc80 c01f8fe7 0a08021c ea8bfc80 d55bff6c dd2f0000 00007770 c01f9bc0 00001770 00000001 d55bff6c e6634000 e6634040 08058b64 c01f8c17 e6634000 e6634040 d55bff6c 00001770 00000001 e3cae540 ffffffea 00000000 000077a0 Call Trace: [<c01f8fe7>] [<c01f9bc0>] [<c01f8c17>] [<c012ebe6>] [<c0106c2b>] Code: 80 7a 78 00 74 15 c6 42 78 00 8d 42 28 39 42 28 74 09 52 8b
>>EIP; c01b7688 <generic_unplug_device+8/30> <===== Trace; c01f8fe6 <sg_common_write+1d6/1f0> Trace; c01f9bc0 <sg_cmd_done_bh+0/280> Trace; c01f8c16 <sg_write+256/280> Trace; c012ebe6 <sys_write+96/d0> Trace; c0106c2a <system_call+32/38> Code; c01b7688 <generic_unplug_device+8/30> 00000000 <_EIP>: Code; c01b7688 <generic_unplug_device+8/30> <===== 0: 80 7a 78 00 cmpb $0x0,0x78(%edx) <===== Code; c01b768c <generic_unplug_device+c/30> 4: 74 15 je 1b <_EIP+0x1b> c01b76a2 <generic_unplug_device+22/30> Code; c01b768e <generic_unplug_device+e/30> 6: c6 42 78 00 movb $0x0,0x78(%edx) Code; c01b7692 <generic_unplug_device+12/30> a: 8d 42 28 lea 0x28(%edx),%eax Code; c01b7694 <generic_unplug_device+14/30> d: 39 42 28 cmp %eax,0x28(%edx) Code; c01b7698 <generic_unplug_device+18/30> 10: 74 09 je 1b <_EIP+0x1b> c01b76a2 <generic_unplug_device+22/30> Code; c01b769a <generic_unplug_device+1a/30> 12: 52 push %edx Code; c01b769a <generic_unplug_device+1a/30> 13: 8b 00 mov (%eax),%eax - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |