Wednesday, January 12, 2011

Packet receiving flow on NetBSD/i386

OpenBSD forked from NetBSD long years ago, but the code are still similar.
I even could reuse the OpenBSD chart for this.

I checked lock granularity and how parallelized, unfortunately it doesn't allow multiple cpus process hw interrupt or software interrupt in parallel.
It does allow multiple cpus entering system call on same time, but only one processor can run network software interrupt because it locks whole network subsystem.
And hw interrupt takes big kernel lock.

Sunday, January 9, 2011

Wednesday, January 5, 2011

Packet receiving flow on OpenBSD/i386

Just drew the flow of packet receiving sequence, to check existence of shared data and giant locks.