All of lore.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 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.