[haiku-development] Re: Free irq

  • From: Don Quixote de la Mancha <quixote@xxxxxxxxxxxxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Sun, 16 Oct 2011 10:53:43 -0700

On Sun, Oct 16, 2011 at 8:41 AM, Michael Lotz <mmlr@xxxxxxxx> wrote:

> Instead we should make sure that drivers that
> could but currently don't use MSIs get updated. The FreeBSD
> compatibility layer we have for network drivers already supports MSIs
> and makes use of them under Haiku. Also, where possible, the link
> devices are already configured in a way that they avoid sharing BTW.

I've been looking for something useful I could do to learn about
Haiku's kernel architecture.

Do you know which drivers that are already (mostly) working, that
could use MSIs but don't?

Once I figure out how to update just one driver to use MSIs, updating
the rest should not be hard.

> A rather simple optimization to the interrupt handler that could be
> done however, would be to reorder the installed interrupt handler list
> so that handlers who service the most interrupts end up at the top of
> the list (this only applies where multiple interrupt handlers are
> installed of course). This would reduce the average interrupt handling
> latency by avoiding to call into the handler routine of drivers that
> only receive interrupts more rarely.

That's something else I could contribute when I learn more about the kernel.

Do you know where the code is that maintains the interrupt handler list?

I could start just by collecting some statistics.  If they were output
to userspace somehow, or periodically spit out the serial port, the
simplest thing would be to re-order certain interrupt handlers by
editing the source code.  More advanced would be to do it adaptively,
at runtime.

-- 
Don Quixote de la Mancha
Dulcinea Technologies Corporation
Software of Elegance and Beauty
http://www.dulcineatech.com
quixote@xxxxxxxxxxxxxxxx

Other related posts: