# Gentoo guest on MS Hyper-v has high soft interrupt load

## salam

Hi,

I'm running several gentoo VMs under Hyper-V as routers. Since network load is quite high(up to 300mbit/s from ~1000 clients), i'm experiencing a lot of software interrupts. From what I've been searching, I assume this is related to TCP offload.

Using ethtool, I found out that all these features are disabled(and cannot be enabled). Offloading on host system is enabled on vswitches, but it seems it has no effect.

```

Offload parameters for eth0:

rx-checksumming: off

tx-checksumming: off

scatter-gather: off

tcp-segmentation-offload: off

udp-fragmentation-offload: off

generic-segmentation-offload: off

generic-receive-offload: on

large-receive-offload: off

rx-vlan-offload: off

tx-vlan-offload: on

ntuple-filters: off

receive-hashing: off

```

Apart from this issue, there are no other problems with VM. Seems that something more needs to be set up, but I was not able to find what.

Soft interrupt load (si) eats up to 70% of cpu time on peak hours.

Currently, I'm running gentoo-sources 3.4.3 with HV support(IS v 3.1) as built-in <*>, host is w2k8 r2

```

CONFIG_HYPERV_STORAGE=y

CONFIG_HYPERV_NET=y

CONFIG_HID_HYPERV_MOUSE=y

CONFIG_HYPERV=y

CONFIG_HYPERV_UTILS=y

```

Any advice is welcome.

----------

## gerdesj

For that sort of network I would personally use Layer 3 switches for the PC and server VLANs and use Linux (or my personal fav pfSense) for internet connectivity and DMZs etc.  You don't really say whether the routing is internal only or internet or both.

That said, and I must say I don't do Hyper V I only have experience of VMware vSphere I can make a few suggestions.

You might be able to send the physical NICs direct to the Gentoo boxes using PCI pass through if your hardware is modern enough and Hyper V has support for it.  Then your Gentoo boxes can use the NICs for real.  However that means tying up NICs to VMs - not ideal.

Under virtualization it is the host that drives the NICs and not the VMs so make sure you've got good NICs and drivers on the hosts.  If Hyper V has some form of guest tools like VMware then perhaps there is a NIC driver you can use that is virtualization aware on the Gentoos. ... Google ... ahh have you used this: http://www.microsoft.com/en-us/download/details.aspx?id=11674 ?  Sorry just re read your post and you mention HV support built in to the kernel.  Now you are dependent on what MS provide and it would seem - not much.

Now its not exactly comparing apples with apples but I have had a pfSense VM running on VMware shuffling 200MBps (bytes not bits) without breaking a sweat whilst emulating a customer's network so I know its possible. 

You may get lucky on the MS forums.  I suggest you claim to be running SuSE (SLES) or just Linux if you post on their forums and don't mention Gentoo!  Anyway despite that it is always worth posting here, just in case  :Cool: 

Cheers

Jon

----------

## salam

Good idea, i'm waiting for newest integration services to be built into the kernel and then i will see. If no success appears, i'm going to conceal myself as a SLES user   :Wink: 

EDIT: from latest changelog i see that TCP offload is not supported (i hope not YET supported). Anyway, the VMs have no other task than routing/NAT/htb, so it should last quite some more time...

----------

