Change top's notion of idle processes / threads
Jamie Landeg-Jones
jamie at dyslexicfish.net
Wed May 28 12:20:39 UTC 2014
John, the changes are good.
The "'trickling' but still not idle" processes now show up as they should.
However, it has exposed one quirk in the display:
Sorting is done by WCPU followed by total processor time.
Processes which aren't idle (but are using so little cpu it shows as 0.00%)
show below processes which are truely idle, but have totaled more processor
time overall.
This is more noticable with your new patch, as toggling between idle-only
and full now shows processes appearing higher in the list than some which
only appear in the non-idle view!
Ideally, processes where cpu "is virtually 0.00% but really a smidgen higher"
should be display higher.
I realise the pctcpu granularity is at fault here.
Basically, what I'm saying is that truely idle processes should appear below
other processes reporting 0.00% cpu.
In other words, what I'm asking is: shouldn't the cpu sort priority not
simply be keyed on 'ki_pctcpu', but on a primary key based on
"if cur->ki_runtime == old->ki_runtime ?" followed by secondary key ki_pctcpu.
Or even easier, shouldn't simply sorting on (cur->ki_runtime - old->ki_runtime)
suffice?
Is this a valid point, and if it is, is it practical, and/or easy enough to
achieve? I'll even have a stab at it myself tomorrow, after hopefully getting
some sleep (32 hours without sleep - sorry for incoherency - insomnia is a PITA)
Cheers,
Jamie
More information about the freebsd-current
mailing list