All of lore.kernel.org
 help / color / mirror / Atom feed
From: Joel Soete <soete.joel@tiscali.be>
To: Grant Grundler <grundler@parisc-linux.org>
Cc: PA-RISC Linux Port <parisc-linux@lists.parisc-linux.org>
Subject: Re: [parisc-linux] 2.6.5-rc2-pa2 boot panic on c110 :(
Date: Sat, 27 Mar 2004 22:43:46 +0000	[thread overview]
Message-ID: <406603A2.5080209@tiscali.be> (raw)
In-Reply-To: <20040323045151.GA6190@colo.lackof.org>

Hello Grant,

Back to all with this pb

Grant Grundler wrote:
> On Sun, Mar 21, 2004 at 12:57:16PM -0700, Grant Grundler wrote:
> 
>>>Kernel Fault: Code=26 regs=10594380 (Addr=00000000)
>>
>>null ptr deref.
>>
>>...
>>
>>> IAOQ[0]: lasi700_probe+0x18c/0x1cc
>>> IAOQ[1]: lasi700_probe+0x190/0x1cc
>>> RP(r2): lasi700_probe+0x58/0x1cc
>>
>>IOAQ[0] is the offending instruction.

First of all this is my fault: for this b2k I used to compile the 2.6 kernel with b180 config :(
But I didn't notice that there was recently changes in this file.
To solve this pb I so had to add 'U2/Uturn I/O MMU' and also Zalon to make it bootable again (and finaly 'Lasi ethernet' to just 
have network access :) ).

> 
> 
> James Bottomley observed a problem with hppa_dma_ops
> not being set properly for his U2/Uturn box.
> This is likely the same problem.
> See ccio driver isn't claiming the chip when it should.
> 
That said, I am not able to link jejb with what I observe but here is the story.
The system boot but hang very quickly as soon as io rate increase as per a find of a file name :( (reproducible on request)
I then get mesg
arq->state 2
Badness in as_requeue_request at drivers/block/as-iosched.c:1479
Kernel addresses on the stack:
[snip]
[<10108c5c>] ret_from_kernel_thread+0x1c/0x24

I so added some printk as follow in  drivers/block/as-iosched.c
[snip]
static void as_requeue_request(request_queue_t *q, struct request *rq)
{
         struct as_data *ad = q->elevator.elevator_data;
         struct as_rq *arq = RQ_DATA(rq);

         if (arq) {
                 if (arq->state != AS_RQ_REMOVED) {
                         printk("arq->state %d\n", arq->state);
                         WARN_ON(1);
                 }

/* JSO */
                 printk("as_requeue_request will now set arq->state.\n");
/* JSO */
                 arq->state = AS_RQ_DISPATCHED;
/* JSO */
                 printk("as_requeue_request has just set arq->state.\n");
                 if (arq->io_context && arq->io_context->aic)
                         printk("as_requeue_request will now atomic_inc(&arq->io_context->aic->nr_dispatched).\n");
/* JSO */
                 if (arq->io_context && arq->io_context->aic)
                         atomic_inc(&arq->io_context->aic->nr_dispatched);
                 printk("finished if (arq).\n");
         } else
                 WARN_ON(blk_fs_request(rq)
                         && (!(rq->flags & (REQ_HARDBARRIER|REQ_SOFTBARRIER))) );

         printk("as_requeue_request will now list_add().\n");
         list_add(&rq->queuelist, ad->dispatch);
         printk("as_requeue_request has just list_add().\n");

         /* Stop anticipating - let this request get through */
         printk("as_requeue_request will now (as_antic_stop(%p)).\n", ad);
         as_antic_stop(ad);
         printk("as_requeue_request has just (as_antic_stop(%p)).\n", ad);
}
[snip]

And here is a sample of what I can grab from serial console when I trigger a find:
as_requeue_request will now set arq->state.
as_requeue_request has just set arq->state.
as_requeue_request will now atomic_inc(&arq->io_context->aic->nr_dispatched).
finished if (arq).
as_requeue_request will now list_add().
as_requeue_request has just list_add().
as_requeue_request will now (as_antic_stop(100b89a0)).
as_requeue_request has just (as_antic_stop(100b89a0)).
as_requeue_request will now set arq->state.
as_requeue_request has just set arq->state.
as_requeue_request will now atomic_inc(&arq->io_context->aic->nr_dispatched).
finished if (arq).
as_requeue_request will now list_add().
as_requeue_request has just list_add().
as_requeue_request will now (as_antic_stop(100b89a0)).
as_requeue_request has just (as_antic_stop(100b89a0)).
as_requeue_request will now set arq->state.
as_requeue_request has just set arq->state.
as_requeue_request will now atomic_inc(&arq->io_context->aic->nr_dispatched).
finished if (arq).
as_requeue_request will now list_add().
as_requeue_request has just list_add().
as_requeue_request will now (as_antic_stop(100b89a0)).
as_requeue_request has just (as_antic_stop(100b89a0)).
as_requeue_request will now set arq->state.
as_requeue_request has just set arq->state.
as_requeue_request will now atomic_inc(&arq->io_context->aic->nr_dispatched).
finished if (arq).
as_requeue_request will now list_add().
as_requeue_request has just list_add().
as_requeue_request will now (as_antic_stop(100b89a0)).
as_requeue_request has just (as_antic_stop(100b89a0)).
arq->state 2
Badness in as_requeue_request at drivers/block/as-iosched.c:1479
Kernel addresses on the stack:
  [<10124528>] printk+0x144/0x1c0
  [<101036bc>] dump_stack+0x18/0x24
  [<102276a0>] as_requeue_request+0x5c/0x17c
  [<1021e630>] elv_requeue_request+0x30/0x3c
  [<1023baf4>] scsi_request_fn+0x220/0x2bc
  [<1021e630>] elv_requeue_request+0x30/0x3c
  [<102212b8>] blk_insert_request+0xd8/0xf0
  [<1023a978>] scsi_queue_insert+0x6c/0xa0
  [<1023b7bc>] scsi_prep_fn+0xc4/0x1dc
  [<102368f8>] scsi_dispatch_cmd+0x118/0x22c
  [<1021e820>] elv_remove_request+0x34/0x44
  [<1023ba80>] scsi_request_fn+0x1ac/0x2bc
  [<102273f0>] as_next_request+0x44/0x54
  [<10228218>] as_work_handler+0x44/0x48
  [<101344e4>] worker_thread+0x1e4/0x280
  [<101200cc>] schedule+0x3f8/0x718
  [<101385f4>] kthread+0xdc/0xe4
  [<10108c5c>] ret_from_kernel_thread+0x1c/0x24

as_requeue_request will now set arq->state.
as_requeue_request has just set arq->state.
as_requeue_request will now atomic_inc(&arq->io_context->aic->nr_dispatched).
finished if (arq).
as_requeue_request will now list_add().
as_requeue_request has just list_add().
as_requeue_request will now (as_antic_stop(100b89a0)).
as_requeue_request has just (as_antic_stop(100b89a0)).

as_requeue_request will now set arq->state.
as_requeue_request has just set arq->state.
as_requeue_request will now atomic_inc(&arq->io_context->aic->nr_dispatched).
finished if (arq).
as_requeue_request will now list_add().
as_requeue_request has just list_add().
as_requeue_request will now (as_antic_stop(100b8aa0)).
as_requeue_request has just (as_antic_stop(100b8aa0)).
as_requeue_request will now set arq->state.
as_requeue_request has just set arq->state.
as_requeue_request will now atomic_inc(&arq->io_context->aic->nr_dispatched).
finished if (arq).
as_requeue_request will now list_add().
as_requeue_request has just list_add().
as_requeue_request will now (as_antic_stop(100b8aa0)).
as_requeue_request has just (as_antic_stop(100b8aa0)).
as_requeue_request will now set arq->state.
as_requeue_request has just set arq->state.
as_requeue_request will now atomic_inc(&arq->io_context->aic->nr_dispatched).
finished if (arq).
as_requeue_request will now list_add().
as_requeue_request has just list_add().
as_requeue_request will now (as_antic_stop(100b8aa0)).
as_requeue_request has just (as_antic_stop(100b8aa0)).
as_requeue_request will now set arq->state.
as_requeue_request has just set arq->state.
as_requeue_request will now atomic_inc(&arq->io_context->aic->nr_dispatched).
finished if (arq).
as_requeue_request will now list_add().
as_requeue_request has just list_add().
as_requeue_request will now (as_antic_stop(100b8aa0)).
as_requeue_request has just (as_antic_stop(100b8aa0)).
as_requeue_request will now set arq->state.
as_requeue_request has just set arq->state.
as_requeue_request will now atomic_inc(&arq->io_context->aic->nr_dispatched).
finished if (arq).
as_requeue_request will now list_add().
as_requeue_request has just list_add().
as_requeue_request will now (as_antic_stop(100b8aa0)).
as_requeue_request has just (as_antic_stop(100b8aa0)).
[snip]

it seems to be infinite loop :(

Any idea?

Thanks in advance,
     Joel

  reply	other threads:[~2004-03-27 22:43 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-03-21 13:17 [parisc-linux] 2.6.5-rc2-pa2 boot panic on c110 :( Joel Soete
2004-03-21 19:57 ` Grant Grundler
2004-03-22  7:07   ` Joel Soete
2004-03-23  4:51   ` Grant Grundler
2004-03-27 22:43     ` Joel Soete [this message]
2004-04-09 20:47     ` Joel Soete
2004-04-09 21:15       ` Grant Grundler
2004-04-10  8:32         ` Joel Soete
2004-04-10 18:14           ` Grant Grundler
2004-04-10 21:19             ` Joel Soete
2004-04-14  0:22               ` Ryan Bradetich
  -- strict thread matches above, loose matches on Subject: below --
2004-04-14  6:45 Joel Soete
2004-04-14 12:01 ` Joel Soete
2004-04-14 14:36 ` Ryan Bradetich
2004-04-14 14:49   ` James Bottomley
2004-04-14 16:26     ` Joel Soete
2004-04-14 16:08   ` Joel Soete
2004-04-14 19:32 Andy Walker
2004-04-14 20:52 ` Joel Soete
2004-04-15  7:05   ` Joel Soete
2004-04-16 11:19     ` Andy Walker
2004-04-17 18:10       ` Joel Soete
2004-04-17 20:49         ` Andy Walker
2004-04-17 21:32           ` Joel Soete

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=406603A2.5080209@tiscali.be \
    --to=soete.joel@tiscali.be \
    --cc=grundler@parisc-linux.org \
    --cc=parisc-linux@lists.parisc-linux.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.