On Sat, 2006-08-12 at 19:08 +0400, Evgeniy Polyakov wrote: > One must receive a packet to determine if that packet must be dropped > until tricky hardware with header split capabilities or MMIO copying is > used.
True, that is done, but we then discard this packet at the very first moment we know it's not for a special socket. This way we know this piece of memory will not get stuck waiting on some unimportant blocked process. So even though we allocate the packet we do not loose the memory. > Peter uses special pool to get data from when system is in OOM (at > least in his latest patchset), so allocations are separated and thus > network code is not affected by OOM condition, which allows to make > forward progress. I've done that throughout the patches, in various forms of brokenness. Only with this full allocator could I implement all the semantics needed for all skb operations though. Previous attempts had some horrors build on alloc_pages() in there. > Critical flag can be setup through setsockopt() and checked in > tcp_v4_rcv(). I have looked at setsockopt(), but since I'm not sure I want to expose this to userspace I chose to not do that. - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html