[PATCH] Flexible vcpu pinning configuration

Roman Bogorodskiy novel at FreeBSD.org
Sun Apr 27 10:46:02 UTC 2014


I've created an initial version of the patch which allows more flexible
vcpu pinning configuration.

Current schema is:

bhyve -p N 

pins vcpu i to hostcpu N + i.

The propsed extension is:

bhyve -p N:M .... -p 0:1 -p 3:5

which pins vcpu N to host pcpu M. Option needs to be specified
individually for each vcpu.

So it works like that for me:

sudo /usr/sbin/bhyve -p 0:0 -p 1:3 -c 2 ...

# sudo cpuset -g -t 100262
tid 100262 mask: 0
# sudo cpuset -g -t 100264
tid 100264 mask: 3

PS I used cpumat_t* array to store these values instead of int, because
if the idea is OK, I'll extend it to support ranges like e.g. cpuset(1)
supports, e.g.: "1:2-5".

The questions are:

 - Is it OK to chance '-p' arg syntax or it's better to introduce a new
   one?

 - Is the syntax OK (currently: 'vcpu:pcpu', later
   'vcpu:pcpuN-pcpuM,pcpuX")?

Roman Bogorodskiy
-------------- next part --------------
A non-text attachment was scrubbed...
Name: bhyve_vcpupin.diff
Type: text/x-diff
Size: 2487 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-virtualization/attachments/20140427/05dda91c/attachment.diff>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 488 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-virtualization/attachments/20140427/05dda91c/attachment.sig>


More information about the freebsd-virtualization mailing list