RE: Regarding Multi Processes

Alan Cox (Fabian.Frederick@prov-liege.be)
Wed, 15 Sep 1999 15:34:29 +0200


> > I'm writing driver code for the card, which is
> having four
> > ethernet contollers.We attached IRQ to each device.
> > When interrupt is rised,one of two different processes to
> be called
> > depending on the contents of the INTERRUPT CAUSE
> > REGISTER.Linux is new to me.So, can I know how can I create two
> > processes(Is there any documentation for kernel threads)
>
> You don't normally want to use threads for processing unless
> there is a high
> overhead in the processing work. Linux is really designed to
> do the work on
> the IRQ while the cache is still hot with the data you just acquired.

AFAIK, those cards are _not_ standing for parallel working but routing
interface, so I can't see advantage on using different IRQ here
in some monolithic approach.IMHO 2 solutions are viable here:

1.Four modules with disparate IRQ per segment
(where btw you'll have to face hardware collisions)
(I gonna be flamed with this one ...for sure : ) ).
2.One big big module with 1 IRQ for the whole interfaces.


> If the processing isnt a tiny period you'd probably use a
> bottom half - The
> network layer for example grabs and queues packets on
> interrupt and processes
> them on the bh.

Could you be more specific on which basic handler to be used ?

Fabian

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/