Let's do a little dtracing:
# cat repro
#!/bin/bash
dtrace -n 'hilevel_intr_prolog:entry { c++; }'
[root@00-30-48-cf-be-f0 /zones/jlevon]# ./repro
dtrace: description 'hilevel_intr_prolog:entry ' matched 1 probe
# zonecfg -z $build "info brand ; info cpu-shares ; info capped-cpu" ; zonecfg -z $build2 "info brand ; info cpu-shares ; info capped-cpu" | |
brand: joyent | |
[cpu-shares: 20000] | |
brand: joyent | |
[cpu-shares: 10000] | |
[root@lava ~]# prctl -n zone.cpu-shares $(ps -z $build -o pid | tail -1) | |
process: 13350: /bin/bash ./busy 200 | |
NAME PRIVILEGE VALUE FLAG ACTION RECIPIENT |
Let's do a little dtracing:
# cat repro
#!/bin/bash
dtrace -n 'hilevel_intr_prolog:entry { c++; }'
[root@00-30-48-cf-be-f0 /zones/jlevon]# ./repro
dtrace: description 'hilevel_intr_prolog:entry ' matched 1 probe
white space nits: | |
usr/src/uts/intel/ia32/os/sysi86.c:28: space tab sequences | |
usr/src/uts/intel/ia32/os/sysi86.c:401: space tab sequences | |
usr/src/uts/intel/ia32/os/sysi86.c:402: space tab sequences | |
usr/src/uts/intel/ia32/os/sysi86.c:408: space tab sequences | |
usr/src/uts/intel/sys/x86_archext.h:93: space tab sequences | |
usr/src/uts/intel/sys/x86_archext.h:312: space tab sequences | |
usr/src/uts/intel/sys/x86_archext.h:315: space tab sequences | |
usr/src/uts/intel/sys/x86_archext.h:329: space tab sequences | |
usr/src/uts/common/sys/proc.h:156: space tab sequences |
tl;dr: turn off the second socket if you want consistent results | |
for comparisons. | |
My system is two socket, with 2 8-vcpu bhyve guests. This script: | |
https://github.com/jlevon/grot/blob/master/bhyve-pin | |
will bind a VM to specific CPUs in a socket (nothing else should be | |
running other than the VMs under test). It's not smart enough to pick | |
idle CPUs, it's pretty hard coded (and make sure your system has CPUs in |
1. foo | |
1. bar | |
1. baz |
Tested by Rob Johnston as follows: | |
- verified fmd was up | |
- ran "fmadm config" and fmstat, which exercises the RPC code path in fmd | |
- manually triggered the usage messages for smtp-notify and snmp-notify | |
- enabled smtp-notify service | |
- configured notifications for SMF services going into maintenance | |
- forced the intr service to fail | |
- ran fmadm faulty to verify a faulty was diagnoses | |
- verified root got an email notification |
Hi all, with the integration of:
OS-7260 SmartOS should support booting with loader
and related work, there are changes in the way both SmartOS and Triton boot. See RFD 156 for some more background:
https://github.com/joyent/rfd/tree/master/rfd/0156
In general, unless you are re-installing a system, these changes are
# ships as "default.configure.env" | |
# - if no configure.env is found, we use this (no need to cp if default) | |
# - we stop sourcing all configure.* - post your changes, it's no longer | |
# useful/necessary. | |
# we have these contents as default argument in our jenkins builds | |
# gerrit user can over-ride this, or individually below? | |
ORIGIN="https://github.com/joyent/" | |
# can we process these by parsing "env" or somesuch automatically?? |