> For your last para, I think it is actually pretty common to use a lock free ring buffer. An atomic instruction takes the place of locking for swapping out data pointers.
I think you're right, that particular use case is perhaps not the best example.
Ethernet -> IP is a single producer situation where the Ethernet driver is free to drop a packet if the input buffer is full. So that can be implemented without locking.
I think you're right, that particular use case is perhaps not the best example.
Ethernet -> IP is a single producer situation where the Ethernet driver is free to drop a packet if the input buffer is full. So that can be implemented without locking.