MBUF Cluster Network freeze problem

Eric Norum eric.norum at usask.ca
Fri May 4 14:38:58 UTC 2001

Antti P Miettinen wrote:
> Have you tried playing with rtems_bsdnet_config.network_task_priority?
> What is the rationale of not having time slicing for the networking
> tasks? I know they should not stay busy for long periods so time
> slicing should not be _needed_ but if there _are_ several tasks
> competing for CPU I think the reasonable thing to do would be to share
> the CPU between them. Is there a performance penalty for time slicing?
> Or does the correct operation of the stack depend on network tasks not
> pre-empting each other?

The BSD kernel code, like most (all?) non-SMP UNIX systems, is written
with the assumption that no implicit context switches occur.  On RTEMS
this semantic is ensured by the requirement that a task is active in the
BSD code only when it holds the network semaphore.  There is a project
in place to add SMP to FreeBSD, but the subtask of making the network
stack SMP-safe has not yet started.  Once the FreeBSD kernel is
completely thread-safe it will be quite easy to move the network stack
over to RTEMS and get rid of the network semaphore.

I'm currently investigating the work involved in moving more BSD code
into RTEMS.  The big sections to be moved are the tty driver and more of
the network stack (IPv6, IPsec).

Eric Norum                                 eric.norum at usask.ca
Department of Electrical Engineering       Phone: (306) 966-5394
University of Saskatchewan                 FAX:   (306) 966-5407
Saskatoon, Canada.

More information about the users mailing list