splnet() and friends

Vyacheslav V. Burdjanadze wr at zelax.ru
Mon May 6 14:18:08 UTC 2002

Buenas dias.

I found that spl*() routines does nothing in RTEMS (splx, splnet, splimp 
especially) but they seem to perform synchronization tasks in original 
BSD code. Thus if we have two receiving interface which incapsulation is 
IP, the ipintr() will add packets to IP input queue without 
locking/unlocking it and under high loads it MAY cause to lost mbufs or 
even crash. I didn't observed this condition either but it seems 
possible for me. When I looked for splnet the situation is become worse 
for me :-/. Can you give some comments on it?

Using rtems_bsdnet_semaphore for locking everything in networking code 
is not good idea - it will reduce maximum bandwith.


- " Why do you call this software 'beta' ? "
- " Cuz it beta than nothin' ! "

More information about the users mailing list