-
tsoome
rmustacc sure.
-
tsoome
rmustacc but I have identified the problem is that we have already closed the errlog as part of the fmd shutdown, we were attempting to close fltlog, but got error while doing it, and since errlog is already closed, reporting that error did end up with dereferencing NULL pointer and crash
-
tsoome
rmustacc so the basic question is, should we just check this pointer to be not NULL, or should fmd.running flag be reset earlier or something like that...
-
ChadGPT
hello. for science(tm) i'm trying to find out real-world 'nice' handling on various systems. here is a test program which compiles on linux and the bsds, i expect it will also compile with minor tweaks on illumos
-
ChadGPT
-
ChadGPT
and here is a test script for it:
dpaste.com/C9GB22FJ3
-
ChadGPT
looking for someone(tm) with a *bare metal* illumos install who would be willing to run this
-
ChadGPT
for the test to work it will need to be bound to one cpu, i don't know how to do it on illumos
-
ChadGPT
on linux it would taskset
-
ChadGPT
looks like pbind(8) will do it
-
ChadGPT
pbind -e 3 sh script.sh
-
ChadGPT
or so
-
ChadGPT
cc -O0 -o cpuburner-prio cpuburner-prio.c
-
otis
let me try it on illumos
-
ChadGPT
make sure the box is mostly idle, or at least nothing messes with the target cpu
-
ChadGPT
also thank you :)
-
otis
68678: prio 19 ops 14796
-
otis
68679: prio 0 ops 14821
-
ChadGPT
can you verify on top or similar that they stay on the same cpu for the duration of the test?
-
otis
oh no, it's being migrated. let me exec using pbind
-
otis
ok, pbind -e 3 helped (3 is the most idle core)
-
otis
69320: prio 0 ops 7419
-
otis
69318: prio 19 ops 7430
-
ChadGPT
ok this adds up, but is also broken :)
-
ChadGPT
what's your uname
-
otis
joyent_20230309T001400Z
-
otis
(smartos)
-
ChadGPT
thank you for testing
-
sommerfeld
ChadGPT: the answer can vary dramatically depending on the choice of scheduling class.
-
sommerfeld
TS: 196184: prio 19 ops 9968
-
sommerfeld
196185: prio 0 ops 11399
-
sommerfeld
IA: 196199: prio 0 ops 21377
-
sommerfeld
196198: prio 19 ops 41
-
sommerfeld
FSS: 196210: prio 0 ops 10656
-
sommerfeld
196209: prio 19 ops 10693
-
sommerfeld
RT: + nice -n 20 ./memory_burner 1048576
-
sommerfeld
nice: invalid operation; scheduling class does not support nice
-
sommerfeld
+ nice -n 0 ./memory_burner 1048576
-
sommerfeld
nice: invalid operation; scheduling class does not support nice
-
sommerfeld
:-)
-
sommerfeld
(not sure why the impact is so high for IA vs TS as the documentation makes them seem near-identical)
-
alanc
IA should be just TS plus the ability for the X server to give boosts to processes with focus
-
sommerfeld
it appears that when you put a process into IA it starts boosted.
-
richlowe
tsoome: I noticed due to a mistake that libscf has at least one smatch warning that seems worth checking, and I guess clang might notice too. You might want to remove the SMOFF and take a glance
-
richlowe
I'm starting to suspect that we use calloc() with the arguments the wrong way around more often than not
-
richlowe
tsoome: see msg
-
jbk
i've noticed that
-
jbk
of course a big chunk of the uses of calloc are basically as 'zalloc()' for userland
-
alanc
I don't think any of the calloc implementations in the gate actually care - it's not like they try to align or pad the individual unit size, just multiply it out