Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 25 Apr 2014 23:05:06 +0400
From:      Oleg Ginzburg <olevole@olevole.ru>
To:        freebsd-virtualization@freebsd.org
Subject:   bhyve behavior under cpuset_setaffinity
Message-ID:  <11465971.5E2sZFzEpK@kde4.my.domain>

next in thread | raw e-mail | index | archive | help
Hi,

I planned to look at the bhyve through PMC and found bad behavior if you apply 
cpuset mask for the bhyve process: guest process on the host begins to consume 
up to 40-50% without any load within guest.

For example by executing follow command on bhyve pid:

% cpuset -l 2 -p 3476
% top
PID USERNAME    THR PRI NICE   SIZE    RES STATE   C   TIME    WCPU COMMAND
 3082 root          3  75    0  2075M  5016K CPU2    2   0:01  10.06% bhyve


% ktrace -p 3476
% ktrace -C
% kdump
at this point shows only those entries:

...
  3476 vcpu 0   RET   ioctl 0
  3476 vcpu 0   CALL  ioctl(0x3,0xc0787601,0x7fffff9fce40)
  3476 vcpu 0   RET   ioctl 0
  3476 vcpu 0   CALL  ioctl(0x3,0xc0787601,0x7fffff9fce40)
  3476 vcpu 0   RET   ioctl 0
  3476 vcpu 0   CALL  ioctl(0x3,0xc0787601,0x7fffff9fce40)
  3476 vcpu 0   RET   ioctl 0
  3476 vcpu 0   CALL  ioctl(0x3,0xc0787601,0x7fffff9fce40)
  3476 vcpu 0   RET   ioctl 0
  3476 vcpu 0   CALL  ioctl(0x3,0xc0787601,0x7fffff9fce40)
  3476 vcpu 0   RET   ioctl 0
  3476 vcpu 0   CALL  ioctl(0x3,0xc0787601,0x7fffff9fce40)
  3476 vcpu 0   RET   ioctl 0
  3476 vcpu 0   CALL  ioctl(0x3,0xc0787601,0x7fffff9fce40)
  3476 vcpu 1   RET   ioctl 0
  3476 vcpu 1   CALL  ioctl(0x3,0xc0787601,0x7fffff7fbe40)
  3476 vcpu 1   RET   ioctl 0
  3476 vcpu 1   CALL  ioctl(0x3,0xc0787601,0x7fffff7fbe40)
  3476 vcpu 0   RET   ioctl 0
  3476 vcpu 0   CALL  ioctl(0x3,0xc0787601,0x7fffff9fce40)
  3476 vcpu 0   RET   ioctl 0
  3476 vcpu 0   CALL  ioctl(0x3,0xc0787601,0x7fffff9fce40)
  3476 vcpu 0   RET   ioctl 0
  3476 vcpu 0   CALL  ioctl(0x3,0xc0787601,0x7fffff9fce40)
  3476 vcpu 0   RET   ioctl 0
  3476 vcpu 0   CALL  ioctl(0x3,0xc0787601,0x7fffff9fce40)
  3476 vcpu 1   RET   ioctl 0
  3476 vcpu 1   CALL  ioctl(0x3,0xc0787601,0x7fffff7fbe40)
  3476 vcpu 1   RET   ioctl 0
  3476 vcpu 1   CALL  ioctl(0x3,0xc0787601,0x7fffff7fbe40)
  3476 vcpu 0   RET   ioctl 0

..
All process in the guest is very slow and any action 
adjust the load on the CPU>= 100%

Without cpuset_setaffinity in the same conditions ktrace output is similar:
..
 22506 vcpu 1   CALL  ioctl(0x3,0xc0787601,0x7fffff7fbe40)
 22506 vcpu 0   RET   ioctl 0
 22506 vcpu 0   CALL  ioctl(0x3,0xc0787601,0x7fffff9fce40)
 22506 vcpu 0   RET   ioctl 0
 22506 vcpu 0   CALL  ioctl(0x3,0xc0787601,0x7fffff9fce40)
 22506 vcpu 0   RET   ioctl 0
 22506 vcpu 0   CALL  ioctl(0x3,0xc0787601,0x7fffff9fce40)
 22506 vcpu 0   RET   ioctl 0
 22506 vcpu 0   CALL  ioctl(0x3,0xc0787601,0x7fffff9fce40)
 22506 vcpu 1   RET   ioctl 0
 22506 vcpu 0   RET   ioctl 0
 22506 vcpu 1   CALL  ioctl(0x3,0xc0787601,0x7fffff7fbe40)
 22506 vcpu 0   CALL  ioctl(0x3,0xc0787601,0x7fffff9fce40)
 22506 vcpu 1   RET   ioctl 0
 22506 vcpu 1   CALL  ioctl(0x3,0xc0787601,0x7fffff7fbe40)
 22506 vcpu 1   RET   ioctl 0
 22506 vcpu 1   CALL  ioctl(0x3,0xc0787601,0x7fffff7fbe40)
 22506 vcpu 1   RET   ioctl 0
 22506 vcpu 1   CALL  ioctl(0x3,0xc0787601,0x7fffff7fbe40)
 22506 vcpu 1   RET   ioctl 0
 22506 vcpu 1   CALL  ioctl(0x3,0xc0787601,0x7fffff7fbe40)
..

but the cpu usage on the core is close to 5-10% wherein
guest processes are very responsive.




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?11465971.5E2sZFzEpK>