public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Marcelo Tosatti <marcelo.tosatti@cyclades.com>
To: Arjan van de Ven <arjan@infradead.org>
Cc: Matthew Wilcox <matthew@wil.cx>,
	Lukasz Kosewski <lkosewsk@nit.ca>, Andrew Morton <akpm@osdl.org>,
	vgoyal@in.ibm.com, linux-kernel@vger.kernel.org,
	linux-scsi@vger.kernel.org
Subject: Re: SCSI aic7xxx driver: Initialization Failure over a kdump reboot
Date: Sun, 30 Jan 2005 13:57:51 -0200	[thread overview]
Message-ID: <20050130155751.GA11375@logos.cnet> (raw)
In-Reply-To: <1107109647.4306.61.camel@laptopd505.fenrus.org>

On Sun, Jan 30, 2005 at 07:27:26PM +0100, Arjan van de Ven wrote:
> On Sun, 2005-01-30 at 13:27 -0200, Marcelo Tosatti wrote:
> > On Fri, Jan 07, 2005 at 04:38:32AM +0000, Matthew Wilcox wrote:
> > > On Thu, Jan 06, 2005 at 11:53:27PM -0500, Lukasz Kosewski wrote:
> > > > I have an idea of something I might do for 2.6.11, but I doubt anyone
> > > > will actually agree with it.  Say we keep a counter of how many times
> > > > interrupt x has been fired off since the last timer interrupt
> > > > (obviously, a timer interrupt resets the counter).  Then we can pick an
> > > > arbitrary threshold for masking out this interrupt until another device
> > > > actually pines for it.
> > > > 
> > > > Or something.  The point is, we need a general solution to the problem,
> > > > not poking about in every single driver trying to tie it down.
> > > 
> > > Something like note_interrupt() in kernel/irq/spurious.c?
> > 
> > BTW I wonder if its feasible to add an interface on top of kernel/irq/spurious.c for 
> > notifying drivers about interrupts storms, so they can take appropriate action 
> > (try to reset the device).
> 
> the problem is... the driver just denied it was their irq (at least in
> all the common cases)... 

Hum, drivers should, at least in theory, be able to return IRQ_NONE if interrupts
can't be handled.

So is 8390 a special case? 

drivers/net/8390.c 
irqreturn_t ei_interrupt(int irq, void *dev_id, struct pt_regs * regs)
{
...

        }
        spin_unlock(&ei_local->page_lock);
        return IRQ_RETVAL(nr_serviced > 0);
}


The "workaround" looks like (at the end of ei_interrupt):

        if (!nr_serviced)
                interrupt_cnt++;
        else
                interrupt_cnt = 0;
                                                                                
        if (interrupt_cnt > 256) {
                ei_status.reset_8390(dev);
                interrupt_cnt = 0;
        }


One could argue that it is a hardware problem...



  reply	other threads:[~2005-01-30 18:54 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-01-06 12:35 SCSI aic7xxx driver: Initialization Failure over a kdump reboot Vivek Goyal
2005-01-06 12:12 ` Arjan van de Ven
2005-01-07  3:50   ` Andrew Morton
2005-01-07  4:53     ` Lukasz Kosewski
2005-01-07  4:38       ` Matthew Wilcox
2005-01-30 15:27         ` Marcelo Tosatti
2005-01-30 18:27           ` Arjan van de Ven
2005-01-30 15:57             ` Marcelo Tosatti [this message]
2005-01-07  7:36       ` Vivek Goyal
2005-01-07 14:55       ` Lukasz Kosewski
2005-01-07 14:50         ` linux-os
2005-01-07 15:44           ` Vivek Goyal
2005-01-07 16:52         ` Vivek Goyal
2005-01-07 17:36       ` Denis Vlasenko
2005-01-07  5:27     ` Vivek Goyal

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=20050130155751.GA11375@logos.cnet \
    --to=marcelo.tosatti@cyclades.com \
    --cc=akpm@osdl.org \
    --cc=arjan@infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=lkosewsk@nit.ca \
    --cc=matthew@wil.cx \
    --cc=vgoyal@in.ibm.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox