|
|
About ::
TODO ::
Blog ::
RSS ::
Old blog ::
Projects ::
GIT ::
Gallery ::
Notes
Sat, 19 Aug 2006
Zero-copy sniffer.
Implementation of design with additional bitmask wastes too much space per node, so
I decided to create much more simple solution - attach a tag
to each allocated chunk, which contains a canary and reference counter.
The former is just 4 bytes of special data which is used to check
in freeing function if object being freed is valid and there were no
memory corruption. Reference counter is used to mark mapped objects
as used, so freeing would not destroy them. The only thing to implement
is ->nopage() method for zero-copy sniffer underlaying char device,
so when network allocator cache grows user could automatically be able
to get new pages into mapping.
/devel/networking/zcs :: Link / Comments ()
|