On Wed, 2006-08-09 at 09:46 +0400, Evgeniy Polyakov wrote: > On Tue, Aug 08, 2006 at 09:33:25PM +0200, Peter Zijlstra ([EMAIL PROTECTED]) > wrote: > > http://lwn.net/Articles/144273/ > > "Kernel Summit 2005: Convergence of network and storage paths" > > > > We believe that an approach very much like today's patch set is > > necessary for NBD, iSCSI, AoE or the like ever to work reliably. > > We further believe that a properly working version of at least one of > > these subsystems is critical to the viability of Linux as a modern > > storage platform. > > There is another approach for that - do not use slab allocator for > network dataflow at all. It automatically has all you pros amd if > implemented correctly can have a lot of additional usefull and > high-performance features like full zero-copy and total fragmentation > avoidance.
On your site where you explain the Network Tree Allocator: http://tservice.net.ru/~s0mbre/blog/devel/networking/nta/index.html You only test the fragmentation scenario with the full scale of sizes. Fragmentation will look different if you use a limited number of sizes that share no factors (other than the block size); try 19, 37 and 79 blocks with 1:1:1 ratio. Also, I have yet to see how you will do full zero-copy receives; full zero-copy would mean getting the data from driver DMA to user-space without a single copy. The to user-space part almost requires that each packet live on its own page. As for the VM deadlock avoidance; I see no zero overhead allocation path - you do not want to deadlock your allocator. I see no critical resource isolation (our SOCK_MEMALLOC). Without these things your allocator might improve the status quo but it will not aid in avoiding the deadlock we try to tackle here. - 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