Low latency packet processing with shared memory on Linux?

view story

http://stackoverflow.com – If I was to receive UDP packets on Linux (and I didn't mind changing some of the source code) what would be the fastest way for my application to read the packets? Would I want to modify the network stack so that once a UDP packet is received it is written to shared memory and have the application access that memory? Would there be any way for the stack to notify the application to react, rather than have the application continuously poll the shared memory? Any advice/further resources are welcome- I have only seen: http://www.kegel.com/c10k.html (HowTos)