Hi everybody, I have the assumption that one IRQ lock is missing in stackmgr_task(): In my setup I have two realtime NICs in use with rtnet. And for this setup, I think the assumption in the function stackmgr_task()
/* we are the only reader => no locking required */ skb = __rtskb_fifo_remove(&rx.fifo); is not valid, as the interrupt routine of the NIC could write to rx.fifo via rtnetif_rx() while the stackmgr_task() is about to read from rx.fifo (eg. triggered by the other NIC's IRQ). Even with With one NIC it is not save when there many short messages arriving very fast. Thus, I think the line above has to be changed to skb = rtskb_fifo_remove(&rx.fifo); to be really save! I actually had a problem with lost packages with two NICs enabled. I hope the fix above helps to fix the issue. At least, the first short test looks promising. Regards Mathias -- Mathias Koehrer [EMAIL PROTECTED] Viel oder wenig? Schnell oder langsam? Unbegrenzt surfen + telefonieren ohne Zeit- und Volumenbegrenzung? DAS TOP ANGEBOT JETZT bei Arcor: günstig und schnell mit DSL - das All-Inclusive-Paket für clevere Doppel-Sparer, nur 44,85 inkl. DSL- und ISDN-Grundgebühr! http://www.arcor.de/rd/emf-dsl-2 ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys -- and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ RTnet-users mailing list RTnet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/rtnet-users