Subject: Re: isp(4) with Q-Logic 2340 suffers "stray interrupts" under load
To: Jason Thorpe <thorpej@shagadelic.org>
From: Greg A. Woods <woods@weird.com>
List: tech-kern
Date: 04/02/2005 18:37:32
[ On Monday, March 28, 2005 at 20:08:26 (-0800), Jason Thorpe wrote: ]
> Subject: Re: isp(4) with Q-Logic 2340 suffers "stray interrupts" under load
>
> I just checked in the attached (minimally invasive) patch, and will
> request pullups to the netbsd-2 and netbsd-3 branches.
Thanks. Could you request a pullup for netbsd-1-6 too?
(I think this may help prevent at least the worst of some other
interrupt related problems I've seen posted to this list, though I can't
say for sure that any of those posters are still running 1.6.x :-)
> void
> +alpha_shared_intr_reset_strays(struct alpha_shared_intr *intr,
> + unsigned int num)
> +{
> +
> + /*
> + * Don't bother blocking interrupts; this doesn't have to be
> + * precise, but it does need to be fast.
> + */
> + intr[num].intr_nstrays = 0;
> +}
It needs to be fast because it always gets called for every interrupt,
right? So maybe it should be a CPP macro? (Not that I know what the
current cycle count for a function call is on any of the CPU models I
run, let alone any of the many other versions.... :-)
(or alternately an __inline__ definition?)
--
Greg A. Woods
H:+1 416 218-0098 W:+1 416 489-5852 x122 VE3TCP RoboHack <woods@robohack.ca>
Planix, Inc. <woods@planix.com> Secrets of the Weird <woods@weird.com>