Bad network performance on virtualized CL (with iommu passthrough)

Hi!

I have a simple NAS serwer at home (i3-9300T with 32G or ram on a E3C246D4U MOBO) with CL installed and running great, virtualization enabled, intel_iommu enabled . On this I have a VM to witch I pass one of NIC from mobo

<hostdev mode="subsystem" type="pci" managed="yes">
  <driver name="vfio"/>
  <source>
    <address domain="0x0000" bus="0x09" slot="0x00" function="0x0"/>
  </source>
  <alias name="hostdev0"/>
  <address type="pci" domain="0x0000" bus="0x08" slot="0x00" function="0x0"/>
</hostdev>

and I can see the NIC in my virtual machine and everything behaves as expected.
BUT the cpu usage during net usage is in my opinion too high (@600mbps download, host CPU usage is around ~35-40%) when the same operation on host barely makes a dent in the CPU usage (max 5%) I would assume that VM with iommu should use the same amount of CPU time as host, why I see such a difference? is it normal? what can i do to improve cpu usage?

kernel cmdline → mitigations=off iommu=pt intel_iommu=on i915.fastboot=1 drm.edid_firmware=edid/1280x1024.bin