PERFORCE change 102954 for review
John Baldwin
jhb at freebsd.org
Tue Aug 1 18:34:45 UTC 2006
On Tuesday 01 August 2006 13:42, Sam Leffler wrote:
> Paolo Pisati wrote:
> > http://perforce.freebsd.org/chv.cgi?CH=102954
> >
> > Change 102954 by piso at piso_newluxor on 2006/08/01 17:24:16
> >
> > Convert ath to use a filter+ithread handler:
> >
> > use a spinlock (inside softc) to guard against
> > races when accessing sc_status or the interrupt registers,
> > and axe all the taskqueue jobs from ath_intr().
>
> I highly doubt this does the right thing and the spinlock is almost
> certain to be the wrong thing to do here. We should probably talk
> privately about how to restructure ath to use your stuff but I expected
> a very different approach.
I think it shouldn't actually need a lot of restructuring at all. The
existing ath_intr() function should be the filter, but instead of creating a
task for the higher level handle, it just returns a flag to ask the interrupt
code to schedule it. This only handles 1 handler though, so if you kick off
multiple tasks you might need to do some tweaking there (either do the most
common one as the handler and still use taskqueue for the others or perhaps
have the handler be a little "fatter"). This does seem like a lot more code
churn than is necessary.
--
John Baldwin
More information about the p4-projects
mailing list