Update utils to support pin multiple threads to one node

If physical host doesn't have enough node for pinning,
we might pin multiple threads to one node.

This patch changes the utils to support pin multiple
threads to one node.

Signed-off-by: Amos Kong <akong@redhat.com>
Change the pin strategy if host doesn't have enough nodes

We might launch multiple guests in one physical host,
each guest has many vcpus and vhost threads, some external
processes also need to be pined to a single node in some
tests (eg: netperf).

In some physical host, it doesn't have enough nodes.
After supported multiple-queue, the condition gets worse.

This patch addes a pin strategy for different condition.

| if #vcpus_threads + #vhosts_threads <= #numa_nodes
| then
|     pin all vcpus and vhosts in one node
| else if #vcpus_threads <= #numa_node
| then
|     pin all vcpus in one node
|     pin all vhosts in another node
| else
| then
|     pin vcpu & vhost to same node

Signed-off-by: Amos Kong <akong@redhat.com>
enable msix vectors for all the tests

Signed-off-by: Amos Kong <akong@redhat.com>
netperf: count interrupt for each queue

When we enable multiple queue, there are multiple virtio
input/output interrupts in guest.

This patch counts interrupt for each queue, and output
a summary in result.

Signed-off-by: Amos Kong <akong@redhat.com>