Bug 555698
| Summary: | [LTC 6.0 FEAT] KVM network performance: Defer skb allocation in virtio-net | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Product: | Red Hat Enterprise Linux 6 | Reporter: | IBM Bug Proxy <bugproxy> | ||||||||
| Component: | kernel | Assignee: | Anthony Liguori <aliguori> | ||||||||
| Status: | CLOSED CURRENTRELEASE | QA Contact: | Virtualization Bugs <virt-bugs> | ||||||||
| Severity: | high | Docs Contact: | |||||||||
| Priority: | low | ||||||||||
| Version: | 6.0 | CC: | arozansk, jjarvis, jolsa, knoel, lihuang, mgahagan, michen, mst, nhorman, nobody+PNT0273897, sbest, snagar, syeghiay, tburke, tgraf | ||||||||
| Target Milestone: | beta | Keywords: | FutureFeature, OtherQA | ||||||||
| Target Release: | 6.0 | ||||||||||
| Hardware: | other | ||||||||||
| OS: | All | ||||||||||
| Whiteboard: | |||||||||||
| Fixed In Version: | Doc Type: | Enhancement | |||||||||
| Doc Text: | Story Points: | --- | |||||||||
| Clone Of: | Environment: | ||||||||||
| Last Closed: | 2010-11-11 16:10:01 UTC | Type: | --- | ||||||||
| Regression: | --- | Mount Type: | --- | ||||||||
| Documentation: | --- | CRM: | |||||||||
| Verified Versions: | Category: | --- | |||||||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||||||
| Embargoed: | |||||||||||
| Bug Depends On: | |||||||||||
| Bug Blocks: | 532696, 533943 | ||||||||||
| Attachments: |
|
||||||||||
|
Description
IBM Bug Proxy
2010-01-15 08:51:11 UTC
Has this been accepted upstream yet? Yes, Rusty Russell has taken it into his tree. Below is the Ack. http://thread.gmane.org/gmane.linux.network/147074/focus=45245 Sridhar, please attach the patches to this bug with Rusty's Signed-off-by's. ------- Comment From xma.com 2010-02-04 14:43 EDT------- The first two patches have been accepted in net-next tree, the third one has acked by MST. http://patchwork.ozlabs.org/patch/43911/ http://patchwork.ozlabs.org/patch/43912/ http://patchwork.kernel.org/patch/76526/ ------- Comment From xma.com 2010-02-04 14:46 EDT------- First two patches are in git.kernel.org, see commit log below git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6.git net-next commit 9ab86bbcf8be755256f0a5e994e0b38af6b4d399 Author: Shirley Ma <mashirle.com> Date: Fri Jan 29 03:20:04 2010 +0000 virtio_net: Defer skb allocation in receive path Date: Wed, 13 Jan 2010 12:53:38 -0800 virtio_net receives packets from its pre-allocated vring buffers, then it delivers these packets to upper layer protocols as skb buffs. So it's not necessary to pre-allocate skb for each mergable buffer, then frees extra skbs when buffers are merged into a large packet. This patch has deferred skb allocation in receiving packets for both big packets and mergeable buffers to reduce skb pre-allocations and skb frees. It frees unused buffers by calling detach_unused_buf in vring, so recv skb queue is not needed. Signed-off-by: Shirley Ma <xma.com> Signed-off-by: Rusty Russell <rusty.au> Signed-off-by: David S. Miller <davem> commit f9bfbebf34eab707b065116cdc9699d25ba4252a Author: Shirley Ma <mashirle.com> Date: Fri Jan 29 03:19:05 2010 +0000 virtio: Add ability to detach unused buffers from vrings There's currently no way for a virtio driver to ask for unused buffers, so it has to keep a list itself to reclaim them at shutdown. This is redundant, since virtio_ring stores that information. So add a new hook to do this. Signed-off-by: Shirley Ma <xma.com> Signed-off-by: Amit Shah <amit.shah> Signed-off-by: Rusty Russell <rusty.au> Signed-off-by: David S. Miller <davem> These patches need to be submitted to rh-kernel list for review. Who is going to do that and what is your timeline? ------- Comment From xma.com 2010-02-05 11:50 EDT------- I saw one patch has been submitted by Amit Shah <amit.shah> to jforbes [PATCH 1/4] virtio: Add ability to detach unused buffers from vrings I can submit the other two patches for review next week once I set up RHEL6 kernel source tree. Does that work? ------- Comment From sri.com 2010-02-08 14:40 EDT------- Anthony, Could you post these patches on rh-kernel mailing list? I would expect they should apply cleanly against RHEL6 kernel based on 2.6.32. The 3rd patch still wasn't upstream the last time this bug was updated. I've confirmed that the patch has since been Acked-by Rusty but in the future, please collect the appropriate upstream Acks and attach a patch containing them to the bug report. That makes it much easier. I'll send these patches out tomorrow. ------- Comment From sri.com 2010-02-18 13:56 EDT------- Here is the commit log for the 3rd patch and the link to the patch in net-next tree. Subject: [PATCH] virtio_net: remove send queue Now we have a virtio detach API (in commit f9bfbebf34eab707b065116cdc9699d25ba4252a), we don't need to track xmit skbs in the virio_net driver, which improves transmission performance. Signed-off-by: Shirley Ma <xma.com> Acked-by: Rusty Russell <rusty.au> Acked-by: Michael S. Tsirkin <mst> Signed-off-by: David S. Miller <davem> http://git.kernel.org/?p=linux/kernel/git/davem/net-next-2.6.git;a=commitdiff;h=830a8a976ff2236ebc383e9a06f7872ed9243bfb ------- Comment From xma.com 2010-02-19 03:58 EDT------- These patches have been applied and tested against 2.6.32 kernel. Let me know if it doesn't work with RHEL 6.0 kernel. Created attachment 395052 [details]
[PATCH 1/3]: Add detach buffers API in virtio
------- Comment (attachment only) From xma.com 2010-02-19 03:52 EDT-------
Created attachment 395053 [details]
[PATCH 2/3] virtio-net: Defer skb allocation and remove recv queue
------- Comment (attachment only) From xma.com 2010-02-19 03:53 EDT-------
Created attachment 395054 [details]
[PATCH 3/3]: virtio-net: remove send queue
------- Comment (attachment only) From xma.com 2010-02-19 03:56 EDT-------
Patches have been submitted to the redhat kernel mailing list ------- Comment From xma.com 2010-05-27 13:06 EDT------- I have verified. The patchset have been snapshot already. Red Hat Enterprise Linux 6.0 is now available and should resolve the problem described in this bug report. This report is therefore being closed with a resolution of CURRENTRELEASE. You may reopen this bug report if the solution does not work for you. |