Re: Bottom halves.

Roman Zippel (zippel@fh-brandenburg.de)
Fri, 1 Oct 1999 20:17:38 +0200 (MET DST)


Hi,

On Fri, 1 Oct 1999, Andrea Arcangeli wrote:

> >do_bottom_half functionality into a kernel thread. The reason is to allow
>
> it would be too slow. You want bh processing after incoming network packet
> is been queued from the irq.

On the other hand bottom halfs are very inflexible, they are fast and
easy, but that's it. IMO They're one reason linux can't scale up easily,
as they can only run on a single cpu. Kernelthreads are far more flexible,
as they can run on multiple cpus and you can prioritize them. The only
problem I see is the current scheduler as it would become the next
bottleneck. I'm currently playing with a few ideas, but nothing releasable
yet.

> Also you can't preemt kernel code. no-way. You could only add a
> conditional schedule.

Hmm, I wouldn't say "no-way". :)
IMO lots of things that is neccessary for that, is already done by the SMP
locking stuff. That means every time a lock is hold, we also have to
forbid scheduling, that could be done with a simple increment. On the
other hand you get nice priority inversion problems, but that's another
story.

bye, Roman

-
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/