From: Jarek Poplawski <jarkao2@gmail.com> Date: Tue, 3 Feb 2009 09:41:08 +0000I think we can't avoid using carved up pages for skb->data in the end. The whole kernel wants to speak in pages and be able to grab and release them in one way and one way only (get_page() and put_page()). What do you think is more likely? Us teaching the whole entire kernel how to hold onto SKB linear data buffers, or the networking fixing itself to operate on pages for it's header metadata? :-) What we'll end up with is likely a hybrid scheme. High speed devices will receive into pages. And also the skb->data area will be page backed and held using get_page()/put_page() references. It is not even worth optimizing for skb->data holding the entire packet, that's not the case that matters. These skb->data areas will thus be 128 bytes plus the skb_shinfo structure blob. They also will be recycled often, rather than held onto for long periods of time. In fact we can optimize that even further in many ways, for example by dropping the skb->data backed memory once the skb is queued to the socket receive buffer. That will make skb->data buffer lifetimes miniscule even under heavy receive load. In that kind of situation, doing even the most stupidest page slicing algorithm, similar to what we do now with sk->sk_sndmsg_page, is more than adequate and things like NTA (purely to solve this problem) is overengineering. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
| David Miller | Re: Slow DOWN, please!!! |
| Greg Kroah-Hartman | [PATCH 001/196] Chinese: Add the known_regression URI to the HOWTO |
| Bart Van Assche | Integration of SCST in the mainstream Linux kernel |
| Heiko Carstens | Re: -mm merge plans for 2.6.23 -- sys_fallocate |
git: | |
| Jarek Poplawski | [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| Gerrit Renker | [PATCH 27/37] dccp: Integration of dynamic feature activation - part 2 (server side) |
| David Miller | [GIT]: Networking |
| Jan Engelhardt | Re: iptables very slow after commit 784544739a25c30637397ace5489eeb6e15d7d49 |
