Re: 3c59x vortex_timer rt hack (was: rt20 patch question)

From: Andrew Morton
Date: Fri May 12 2006 - 12:24:51 EST


Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:
>
>
>
> On Fri, 12 May 2006, Andrew Morton wrote:
>
> > >
> > > The vortex_timer is a timeout,
> >
> > err, it's actually a function.
>
> OK, I meant vp->timer

That's a kernel timer.

> >
> > > will it go off often?
> >
> > Every five seconds if the cable's unplugged. Every 60 seconds otherwise.
> >
>
> OK, so the function is a service and not a fixup (or both). Hmm, so
> latency is an issue.

yup. It's been five years, sorry - I'm struggling to remember why
vortex_timer() needs to block the interrupt handler.

The chip is fairly stateful - that EL3WINDOW() thing selects a particular
register bank and needs protection against other register readers. But we
should avoid running EL3WINDOW() in the rx and tx interrupt handlers anyway
- iirc the chip is designed to permit that.

Is tricky.

How come -rt cannot permit disable_irq() in there?

(I think the _reason_ it's disable_irq() is, yes, because it's infrequent
and because it can hold off interrupts for a long time if we use
spin_lock_irq())
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/