CPU usage inaccuracy for taskqueue

Barney Cordoba barney_cordoba at yahoo.com
Sun Mar 1 07:22:02 PST 2009


I've been playing with the ige driver and as a test shifted the entire
receive load to a task instead of doing it in the msix_rx routine by simply
launching a receive task whenever an interrupt is generated. When doing so 
and applying a moderate load, top readings show:

PID USERNAME  THR PRI NICE   SIZE    RES STATE  C   TIME   WCPU COMMAND   11 root        1 171 ki31     0K     8K RUN    3   6:31 100.00% idle: cpu3  12 root        1 171 ki31     0K     8K CPU2   2   6:30 100.00% idle: cpu2  13 root        1 171 ki31     0K     8K CPU1   1   6:29 100.00% idle: cpu1
14 root        1 171 ki31     0K     8K CPU0   0   6:23 99.17% idle: cpu0
42 root        1 -68    -     0K     8K -      0   0:07  7.47% igb1 taskq

clearly the cpu idle thread values aren't correct. This is the case in
both 7.0 and 7.1. Since the point of my testing is to experiment with 
schemes for spreading loads better, I'm not able to learn anything with
the lack of usable feedback. Is there a simple fix?

Barney


      


More information about the freebsd-current mailing list