Zbr's days.

About :: TODO :: Blog :: RSS :: Old blog :: Projects :: GIT :: Gallery :: Notes

Fri, 18 Aug 2006

Towards full zero-copy network support.


I've started zero-copy sniffer implementation, which is quite straightforward - each node contains bitmask of free/used chunks and bitmask of mapped (and used) to userspace chunks, when some area is mapped and is marked as being used and is going to be freed, freeing algorithm checks if it can do it or not, so freeing actually can be postponed (for arbitrary long time). Userspace reads from special char device set of structures which show allocated pointers and theirs sizes, so it can access raw data. Writing the same structures to that char device marks appropriate chunks of memory as mmaped but unused, so it can be freed when needed. Mmap itself is not implemented yet.

/devel/networking/nta :: Link / Comments ()