On Tue, May 04, 2010 at 05:58:52PM -0700, Chris Wright wrote:NetQueue is really for scaling across multiple VMs. NPA allows similar scaling and also helps in improving the CPU efficiency for a single VM since the hypervisor is bypassed. Througput wise both emulation and passthrough (NPA) can obtain line rates on 10gig but passthrough saves upto 40% cpu based on the workload. We did a demo at IDF 2009 where we compared 8 VMs running on NetQueue v/s 8 VMs running on NPA (using Niantic) and we obtained similar CPU efficiency gains. NPA and UPT share a lot of code in the hypervisor. UPT was adopted only by very limited IHVs and hence NPA is our way forward to have all IHVs onboard. We have it working internally with Intel Niantic (10G) and Kawela (1G) SR-IOV NIC. We are also working with upcoming Broadcom 10G card and plan to support other IHVs. This is unlike UPT so we don't dictate the register sets or rings like we did in UPT. Rather we have guidelines like that the card should have an embedded switch for inter VF switching or should support programming (rx filters, VLAN, etc) though the PF driver rather than the VF driver. I am not sure what do you mean by symmetric view of SR-IOV world? NPA allows multi-queue VFs and requires an embedded switch currently. As far as the PF driver is concerned we require IHVs to support all existing and upcoming features like NetQueue, FCoE, etc. The PF driver is considered special and is used to drive the traffic for the emulated/paravirtualized VMs and is also used to program things on behalf of the VFs through the hypervisor. If the hardware has multiple physical functions they are treated as separate adapters (with their own set of VFs) and we require the embedded switch to maintain that distinction as well. The setup is 2.667Ghz Nehalem server running SLES11 VM talking to a 2.33Ghz Barcelona client box running RHEL 5.1. We had netperf streams with 16k msg size over 64k socket size running between server VM and client and they are using Intel Niantic 10G cards. In both cases (NPA and regular) the VM was CPU saturated (used one full core). TX: regular vmxnet3 = 3085.5 Mbps/GHz; NPA vmxnet3 = 4397.2 Mbps/GHz RX: regular vmxnet3 = 1379.6 Mbps/GHz; NPA vmxnet3 = 2349.7 Mbps/GHz We have similar results for other configuration and in general we have seen NPA is better in terms of CPU cost and can save upto 40% of CPU cost. All operations other than TX/RX go through the vmxnet3 shell to the vmxnet3 device emulation. So the control plane is really the vmxnet3 device emulation as far as the guest is concerned. One guest-agnostic plugin per VF implementation. Yes, the plugin is injected into the guest by the hypervisor. Yes it would be GPL and we are thinking of enforcing the license in the hypervisor as well as in the shell. The hypervisor sends a notification to the shell to switch out of passthrough and it quiesces the VF and tears down the mapping between VF and the guest. The shell free's up the buffers and other resources on behalf of the plugin and reinitializes the s/w vmxnet3 emulation plugin. We have an internal prototype working but we are not yet ready to post the patch to LKML. We are still in the process of making changes to our windows driver and want to ensure that we take into account all changes that could happen. Thanks, -pankaj --
| Greg KH | Og dreams of kernels |
| Jens Axboe | [PATCH 31/33] Fusion: sg chaining support |
| Arnd Bergmann | Re: finding your own dead "CONFIG_" variables |
| Mark Brown | [PATCH 2/2] Subject: natsemi: Allow users to disable workaround for DspCfg reset |
| Tony Breeds | [LGUEST] Look in object dir for .config |
git: | |
| Brian Downing | Re: Git in a Nutshell guide |
| John Benes | Re: master has some toys |
| Matthias Lederhofer | [PATCH 4/7] introduce GIT_WORK_TREE to specify the work tree |
| Alexander Sulfrian | [RFC/PATCH] RE: git calls SSH_ASKPASS even if DISPLAY is not set |
| Junio C Hamano | Re: Rss produced by |
