On 2018/09/27 20:06, Stuart Henderson wrote:
> On 2018/09/26 20:15, Stuart Henderson wrote:
> > On 2018/09/26 19:16, Stuart Henderson wrote:
> > > N.B. "Ports using KERN_CPTIME2 will need to be updated."
> > > 
> > > This is likely to cause a bunch of breakage in things reporting CPU stats
> > > and time is very short to fix them before release.
> > > 
> > > If you look after ports that do this, get onto a kernel with this change
> > > (very new commit so it probably won't be in snaps quite just yet) and
> > > test ASAP.
> > 
> > Some starting points for investigation,
> > 
> > assorted mozillas
> > collectd
> > conky
> > go
> > htop
> > libgtop2
> > net-snmp
> > node
> > pgtop
> > py-psutil
> > libuv (+ embedded copies, at least in cmake, maybe more)
> > zabbix
> 
> From a search over extracted ports source and cleaned up (ignoring ifdefs 
> etc):

Before we can figure out how to fix things we need to know what's
actually broken by this change. If you have a CPU with hyperthreading
available and enabled in BIOS it would be helpful to make sure you
have a new enough system (if it's new enough, you willl see output
from "strings /usr/bin/top | grep '%s%5s %s'") and try some of the
programs from the list below (with the default sysctl hw.smt=0 setting)
and exercise any cpu-time related functionality.

Ports in the first group below are likely easy enough to figure out how
to test (for things like htop and xstatbar just running them should be
enough, some others will need config).

Second and third groups might be a bit trickier as I don't know what if
anything would trigger actually using that.

The rust-related things are not going to be actually using it so you
can ignore those.


> libgtop2-2.38.0               sysdeps/openbsd/cpu.c:static int mib_cptime_s 
> [] = { CTL_KERN, KERN_CPTIME2, 0 };
> conky-1.9.0           src/openbsd.c:                        int cp_time_mib[] 
> = { CTL_KERN, KERN_CPTIME2, i };
> symon-2.88            platform/OpenBSD/sm_cpu.c:        st->parg.cp.mib[1] = 
> KERN_CPTIME2;
> xstatbar-0.5          stats.c:      mib_cpus[1] = KERN_CPTIME2;
> xfce4-cpugraph-1.0.5  panel-plugin/os.c:           gint mib[] = {CTL_KERN, 
> KERN_CPTIME2, i - 1};
> net-snmp-5.8          agent/mibgroup/hardware/cpu/cpu_sysctl.c:    int        
>     mcpu_mib[] = { CTL_KERN, KERN_CPTIME2, 0 };
> zabbix-3.4.11         src/zabbix_agent/cpustat.c:                     mib[1] 
> = KERN_CPTIME2;
> filebeat-6.2.4                
> vendor/github.com/elastic/gosigar/sigar_openbsd.go:                mib = 
> []int32{C.CTL_KERN, C.KERN_CPTIME2, int32(curcpu)}
> heartbeat-6.2.4               
> vendor/github.com/elastic/gosigar/sigar_openbsd.go:               mib = 
> []int32{C.CTL_KERN, C.KERN_CPTIME2, int32(curcpu)}
> metricbeat-6.2.4      vendor/github.com/elastic/gosigar/sigar_openbsd.go:     
>          mib = []int32{C.CTL_KERN, C.KERN_CPTIME2, int32(curcpu)}
> packetbeat-6.2.4      vendor/github.com/elastic/gosigar/sigar_openbsd.go:     
>          mib = []int32{C.CTL_KERN, C.KERN_CPTIME2, int32(curcpu)}
> collectd-5.8.0                src/cpu.c:      int mib[] = {CTL_KERN, 
> KERN_CPTIME2, i};
> consul-1.2.3          vendor/github.com/shirou/gopsutil/cpu/cpu_openbsd.go:   
>     KernCptime2 = 71 // KERN_CPTIME2
> htop-2.2.0            openbsd/Platform.c:   int mib[] = { CTL_KERN, 
> KERN_CPTIME2, cpu-1 };
> 
> libuv & vendored copies
> 
> libuv-1.19.1          src/unix/openbsd.c:  which[1] = KERN_CPTIME2;
> cmake-3.10.2          Utilities/cmlibuv/src/unix/openbsd.c:  which[1] = 
> KERN_CPTIME2;
> moarvm-2017.10                3rdparty/libuv/src/unix/openbsd.c:  which[1] = 
> KERN_CPTIME2;
> node-8.12.0           deps/uv/src/unix/openbsd.c:  which[1] = KERN_CPTIME2;
> passenger-5.1.11      
> src/cxx_supportlib/vendor-copy/libuv/src/unix/openbsd.c:  which[1] = 
> KERN_CPTIME2;
> py-uv-1.3.0           deps/libuv/src/unix/openbsd.c:  which[1] = KERN_CPTIME2;
> 
> psutil & vendored copies
> 
> py-psutil-5.4.3               psutil/arch/openbsd/specific.c:        mib[1] = 
> KERN_CPTIME2;
> firefox-esr-60.2.1    
> third_party/python/psutil/psutil/arch/openbsd/specific.c:        mib[1] = 
> KERN_CPTIME2;
> firefox-62.0.2                
> third_party/python/psutil/psutil/arch/openbsd/specific.c:        mib[1] = 
> KERN_CPTIME2;
> 
> rust & vendored copies, consts only I believe:
> 
> cbindgen-0.6.3                
> modcargo-crates/libc-0.2.41/src/unix/bsd/netbsdlike/openbsdlike/mod.rs:pub 
> const KERN_CPTIME2: ::c_int = 71;
> exa-0.8.0             
> modcargo-crates/libc-0.2.30/src/unix/bsd/netbsdlike/openbsdlike/mod.rs:pub 
> const KERN_CPTIME2: ::c_int = 71;
> firefox-62.0.2                
> third_party/rust/libc/src/unix/bsd/netbsdlike/openbsdlike/mod.rs:pub const 
> KERN_CPTIME2: ::c_int = 71;
> firefox-esr-60.2.1    
> third_party/rust/libc/src/unix/bsd/netbsdlike/openbsdlike/mod.rs:pub const 
> KERN_CPTIME2: ::c_int = 71;
> librsvg-2.44.4                
> vendor/libc/src/unix/bsd/netbsdlike/openbsdlike/mod.rs:pub const 
> KERN_CPTIME2: ::c_int = 71;
> ripgrep-0.8.1         
> modcargo-crates/libc-0.2.36/src/unix/bsd/netbsdlike/openbsdlike/mod.rs:pub 
> const KERN_CPTIME2: ::c_int = 71;
> rust-1.29.1           
> src/liblibc/src/unix/bsd/netbsdlike/openbsdlike/mod.rs:pub const 
> KERN_CPTIME2: ::c_int = 71;
> rust-1.29.1           
> src/vendor/libc/src/unix/bsd/netbsdlike/openbsdlike/mod.rs:pub const 
> KERN_CPTIME2: ::c_int = 71;
> seamonkey-2.49.4      
> mozilla/third_party/rust/libc/src/unix/bsd/openbsdlike/bitrig.rs:pub const 
> KERN_CPTIME2: ::c_int = 71;
> seamonkey-2.49.4      
> mozilla/third_party/rust/libc/src/unix/bsd/openbsdlike/openbsd.rs:pub const 
> KERN_CPTIME2: ::c_int = 71;
> spidermonkey-52.8.1   
> third_party/rust/libc/src/unix/bsd/openbsdlike/bitrig.rs:pub const 
> KERN_CPTIME2: ::c_int = 71;
> spidermonkey-52.8.1   
> third_party/rust/libc/src/unix/bsd/openbsdlike/openbsd.rs:pub const 
> KERN_CPTIME2: ::c_int = 71;
> suricata-4.0.5                
> rust/vendor/libc/src/unix/bsd/netbsdlike/openbsdlike/mod.rs:pub const 
> KERN_CPTIME2: ::c_int = 71;
> tb-browser-7.5.3      
> third_party/rust/libc/src/unix/bsd/openbsdlike/bitrig.rs:pub const 
> KERN_CPTIME2: ::c_int = 71;
> tb-browser-7.5.3      
> third_party/rust/libc/src/unix/bsd/openbsdlike/openbsd.rs:pub const 
> KERN_CPTIME2: ::c_int = 71;
> thunderbird-52.9.1    
> mozilla/third_party/rust/libc/src/unix/bsd/openbsdlike/bitrig.rs:pub const 
> KERN_CPTIME2: ::c_int = 71;
> thunderbird-52.9.1    
> mozilla/third_party/rust/libc/src/unix/bsd/openbsdlike/openbsd.rs:pub const 
> KERN_CPTIME2: ::c_int = 71;
> 

Reply via email to