RE: Still need help on kernel issue!

WANG,YIDING (yiding_wang@am.exch.hp.com)
Fri, 3 Sep 1999 17:09:13 -0600


Alan,

Many thanks for the tip. One word "io_request" makes big difference since
other part has been checked many times and no seeing any problem there.

I checked code again and noticed the
spin_lock_irqsave()/spin_unlock_irqrestore() pair in my driver ISR was
ifdefed out during the compiling. The reason for it is when I include
asm/smp.h and asm/spinlock.h for SMP support, compiler complained a lot of
undefined symbols in those included files and failed. So I did not using
that because I thought the spin_lock functions is for MP system only.

I am also using set_bit()/clear_bit() to protect driver private data
structure.

Now I added spin_lock_irqsave()/spin_unlock_irqrestore() pair back in ISR
but still not include asm/smp.h and asm/spinlock.h, everything looks OK!

Really appreciate your help and others who feed back!!!

-eddie

-----Original Message-----
From: Alan Cox [mailto:alan@lxorguk.ukuu.org.uk]
Sent: Friday, September 03, 1999 3:04 AM
To: yiding_wang@am.exch.hp.com
Cc: linux-kernel@vger.rutgers.edu
Subject: Re: Still need help on kernel issue!

> I checked with sd.c and scsi.c. This scsi_free is called by sd.c to free
> the memory sd.c
> allocated for SG list. There is no chance that my driver can touch those
> routine and address.

Unless it stamps on things or overflows its stack or..

Memory corruption is probably the most probable one although nothing
suprises me as a driver bug any more.

> All tests has no error shown on analyzer.

Ok so your fibrechannel side is apparently behaving right.

> Could anyone help to:
> 1, provide some clue what could be wrong?

Check all the memory allocations you do. Also check you catch any NULL
returns. Also check use of the io_request lock - although I'd expect you
to find 'request list destroyed' messages if that was wrong.

It could be sd.c not doing checks so look at that too.

Another one to check is that your scatter gather limits are right. Does
the card blow up doing pure writes ?

> 2, If I use System2 as monitor to track system1 during the test so in case
a
> lot of message shows up, I will be able to see the beginning of it with
> system2 X window. How do I set up these two system to do so?

Connect a serial port of system 1 to system 2, and boot system 1 with
the serial console options. All system messages then go down the serial
port

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/