2002-12-09 09:48:52

by Roy Sigurd Karlsbakk

[permalink] [raw]
Subject: BUG in 2.5.50

hi

installed 2.5.50 and got an OOPS after a short while. .
config is attached as tonjeconfig
/var/log/messages including dmesg and oops is attached as tonje_messages

thanks

roy

Dec 8 17:52:06 tonje kernel: ------------[ cut here ]------------
Dec 8 17:52:06 tonje kernel: kernel BUG at drivers/ide/ide-dma.c:705!
Dec 8 17:52:06 tonje kernel: invalid operand: 0000
Dec 8 17:52:06 tonje kernel: CPU: 0
Dec 8 17:52:06 tonje kernel: EIP: 0060:[__ide_dma_read+94/224] Not
tainted
Dec 8 17:52:06 tonje kernel: EFLAGS: 00010286
Dec 8 17:52:06 tonje kernel: eax: c151ee80 ebx: c04b270c ecx: 00001000
edx: 0000c002
Dec 8 17:52:06 tonje kernel: esi: c04b2660 edi: df59da80 ebp: c04b270c
esp: d5e7dd24
Dec 8 17:52:06 tonje kernel: ds: 0068 es: 0068 ss: 0068
Dec 8 17:52:06 tonje kernel: Process cp (pid: 1203, threadinfo=d5e7c000
task=de78a1c0)
Dec 8 17:52:06 tonje kernel: Stack: 00000001 c04b2660 df590008 000001f4
c02b3223 c04b270c c04b270c 0105d598
Dec 8 17:52:06 tonje kernel: df59e200 d5e7ddd8 0105d598 df59e200
00e7ddd8 4088271c c02a8e0d d5e7dd84
Dec 8 17:52:06 tonje kernel: c04b270c c02a8e68 c04b270c df59e200
0105d598 df59e200 c04b2660 c04b270c
Dec 8 17:52:06 tonje kernel: Call Trace: [do_rw_disk+1091/1776]
[start_request+157/352] [start_request+248/352] [ide_do_request+872/960]
[do_ide_request
+18/32] [generic_unplug_device+58/96] [blk_run_queues+136/192]
[do_page_cache_readahead+304/336] [page_cache_readahead+210/304]
[do_generic_mapping_read
+104/880] [__generic_file_aio_read+445/480] [file_read_actor+0/256]
[generic_file_read+123/160] [sys_fstat64+37/48] [vfs_read+194/352]
[sys_read+42/64]
[syscall_call+7/11]
Dec 8 17:52:06 tonje kernel: Code: 0f 0b c1 02 78 b8 3b c0 68 80 62 2b c0 68
20 4e 00 00 68 10
Dec 8 17:52:09 tonje kernel: <7>evbug.c: Event. Dev: usb-00:07.3-1/input0,
Type: 1, Code: 42, Value: 1

--
Roy Sigurd Karlsbakk, Datavaktmester
ProntoTV AS - http://www.pronto.tv/
Tel: +47 9801 3356

Computers are like air conditioners.
They stop working when you open Windows.


Attachments:
tonjeconfig (18.34 kB)
tonje_messages (27.67 kB)
Download all attachments

2002-12-09 14:00:24

by Zwane Mwaikambo

[permalink] [raw]
Subject: Re: BUG in 2.5.50

On Mon, 9 Dec 2002, Roy Sigurd Karlsbakk wrote:

> > Unfortunately for you this currently falls under unsupported
> > configuration.
>
> What's unsupported of it? And then - why do menuconfig allow me to enable both
> TCQ and PREEMPT?

Well i can't speak for Jens wrt TCQ, but IDE and CONFIG_PREEMPT has a few
subtle problems, i have a few pending bugs which are a cause of
preempt and ide not getting along.

Zwane
--
function.linuxpower.ca

2002-12-09 14:15:14

by Alan

[permalink] [raw]
Subject: Re: BUG in 2.5.50

On Mon, 2002-12-09 at 13:46, John Bradford wrote:
> Is IDE TCQ liable to corrupt data on read-only volumes or just
> read-write? The problem with nobody using it, is that it never gets
> tested - if there are no known issues with read-only use it would be
> nice to know.

The big problem with TCQ is that it only works with some versions of
some conrollers and oopses on others. At the moment the TCQ support isnt
integrated into drivera that override some ide dma ops and there is no
mechanism Jens included for a controller to indicate no-tcq.

Pre-empt is another matter. IDE locking is rather hosed, pre-empt is
showing up existing and long standing problems I think. I've been
commenting bits of ide about locking ready to attempt to actually fix
the locking once the more pressing problems are solved

2002-12-09 13:48:08

by Luigi Genoni

[permalink] [raw]
Subject: Re: BUG in 2.5.50

On Mon, 9 Dec 2002, John Bradford wrote:

> > please try without it.
>
> Is IDE TCQ liable to corrupt data on read-only volumes or just
> read-write? The problem with nobody using it, is that it never gets
> tested - if there are no known issues with read-only use it would be
> nice to know.

Well, to say the truth, when I tested it with 2.4.49, my IBM disk was running
mutch slower than without TCQ, so I rebuilt a kernel without it just after one
hour of tests.
I think it will be difficoult that people will use it longer that 5 minutes if
they don't see some performance gain (except people using it because they
have some serious interess to develop IDE TCQ code).
On the other side, also if there are stability problems, a lot of people will
test it if they think they can gain a better performance.

bests

Luigi

2002-12-09 13:28:49

by John Bradford

[permalink] [raw]
Subject: Re: BUG in 2.5.50

> Its a development kernel... Alan keeps stating that one should not
> enable TCQ, so even with this being available in make menuconfig,
> please try without it.

Is IDE TCQ liable to corrupt data on read-only volumes or just
read-write? The problem with nobody using it, is that it never gets
tested - if there are no known issues with read-only use it would be
nice to know.

John.

2002-12-09 13:20:01

by Arnaldo Carvalho de Melo

[permalink] [raw]
Subject: Re: BUG in 2.5.50

Em Mon, Dec 09, 2002 at 02:23:40PM +0100, Roy Sigurd Karlsbakk escreveu:
> On Monday 09 December 2002 14:21, Zwane Mwaikambo wrote:
> > On Mon, 9 Dec 2002, Roy Sigurd Karlsbakk wrote:
> > > > Is this reproducible? If so without CONFIG_PREEMPT?
> > >
> > > I found it easily reproducable - I just did the same old 'make
> > > modules_install' from the kernel dir, and BUG. Witout CONFIG_PREEMPT,
> > > however, I was not, and I tried to stress it quite a bit
> >
> > Unfortunately for you this currently falls under unsupported
> > configuration.
>
> What's unsupported of it? And then - why do menuconfig allow me to enable both
> TCQ and PREEMPT?

Its a development kernel... Alan keeps stating that one should not enable TCQ,
so even with this being available in make menuconfig, please try without it.

- Arnaldo

2002-12-09 13:16:04

by Roy Sigurd Karlsbakk

[permalink] [raw]
Subject: Re: BUG in 2.5.50

On Monday 09 December 2002 14:21, Zwane Mwaikambo wrote:
> On Mon, 9 Dec 2002, Roy Sigurd Karlsbakk wrote:
> > > Is this reproducible? If so without CONFIG_PREEMPT?
> >
> > I found it easily reproducable - I just did the same old 'make
> > modules_install' from the kernel dir, and BUG. Witout CONFIG_PREEMPT,
> > however, I was not, and I tried to stress it quite a bit
>
> Unfortunately for you this currently falls under unsupported
> configuration.

What's unsupported of it? And then - why do menuconfig allow me to enable both
TCQ and PREEMPT?

roy
--
Roy Sigurd Karlsbakk, Datavaktmester
ProntoTV AS - http://www.pronto.tv/
Tel: +47 9801 3356

Computers are like air conditioners.
They stop working when you open Windows.

2002-12-09 13:11:06

by Zwane Mwaikambo

[permalink] [raw]
Subject: Re: BUG in 2.5.50

On Mon, 9 Dec 2002, Roy Sigurd Karlsbakk wrote:

> > Is this reproducible? If so without CONFIG_PREEMPT?
>
> I found it easily reproducable - I just did the same old 'make
> modules_install' from the kernel dir, and BUG. Witout CONFIG_PREEMPT,
> however, I was not, and I tried to stress it quite a bit

Unfortunately for you this currently falls under unsupported
configuration.

Cheers,
Zwane
--
function.linuxpower.ca

2002-12-09 11:28:33

by Roy Sigurd Karlsbakk

[permalink] [raw]
Subject: Re: BUG in 2.5.50

> Perhaps this might help with debugging;
>
> He has CONFIG_BLK_DEV_IDE_TCQ enabled and his IBM supports it,
>
> when he gets to do_rw_disk();
>
> We know its a READ request
> if (rq_data_dir(rq) == READ) {
> if (blk_rq_tagged(rq))
> return hwif->ide_dma_queued_read(drive);
>
> ... the request isn't tagged so we drop down here...
>
> if (drive->using_dma && !hwif->ide_dma_read(drive))
> return ide_started;
>
> int __ide_dma_read (ide_drive_t *drive)
> ...
> if (HWGROUP(drive)->handler != NULL)
> BUG();
>
> and ->handler = ?
>
> Is this reproducible? If so without CONFIG_PREEMPT?

I found it easily reproducable - I just did the same old 'make
modules_install' from the kernel dir, and BUG. Witout CONFIG_PREEMPT,
however, I was not, and I tried to stress it quite a bit

roy
--
Roy Sigurd Karlsbakk, Datavaktmester
ProntoTV AS - http://www.pronto.tv/
Tel: +47 9801 3356

Computers are like air conditioners.
They stop working when you open Windows.

2002-12-09 10:47:06

by Zwane Mwaikambo

[permalink] [raw]
Subject: Re: BUG in 2.5.50

Added Jens to CC to verify any incorrect information i may or may not put
down.

On Mon, 9 Dec 2002, Roy Sigurd Karlsbakk wrote:

> installed 2.5.50 and got an OOPS after a short while. .
> config is attached as tonjeconfig
> /var/log/messages including dmesg and oops is attached as tonje_messages

Perhaps this might help with debugging;

He has CONFIG_BLK_DEV_IDE_TCQ enabled and his IBM supports it,

when he gets to do_rw_disk();

We know its a READ request
if (rq_data_dir(rq) == READ) {
if (blk_rq_tagged(rq))
return hwif->ide_dma_queued_read(drive);

... the request isn't tagged so we drop down here...

if (drive->using_dma && !hwif->ide_dma_read(drive))
return ide_started;

int __ide_dma_read (ide_drive_t *drive)
...
if (HWGROUP(drive)->handler != NULL)
BUG();

and ->handler = ?

Is this reproducible? If so without CONFIG_PREEMPT?

Cheers,
Zwane
--
function.linuxpower.ca

2002-12-11 09:36:23

by Jens Axboe

[permalink] [raw]
Subject: Re: BUG in 2.5.50

On Mon, Dec 09 2002, Zwane Mwaikambo wrote:
> Added Jens to CC to verify any incorrect information i may or may not put
> down.
>
> On Mon, 9 Dec 2002, Roy Sigurd Karlsbakk wrote:
>
> > installed 2.5.50 and got an OOPS after a short while. .
> > config is attached as tonjeconfig
> > /var/log/messages including dmesg and oops is attached as tonje_messages
>
> Perhaps this might help with debugging;
>
> He has CONFIG_BLK_DEV_IDE_TCQ enabled and his IBM supports it,
>
> when he gets to do_rw_disk();
>
> We know its a READ request
> if (rq_data_dir(rq) == READ) {
> if (blk_rq_tagged(rq))
> return hwif->ide_dma_queued_read(drive);
>
> ... the request isn't tagged so we drop down here...
>
> if (drive->using_dma && !hwif->ide_dma_read(drive))
> return ide_started;
>
> int __ide_dma_read (ide_drive_t *drive)
> ...
> if (HWGROUP(drive)->handler != NULL)
> BUG();
>
> and ->handler = ?

If tcq is enabled on the drive, rq _must_ be tagged.

--
Jens Axboe