Search code examples
linuxkernelscheduleipmi

kipmi0 kernel thread schedule class


What's the schedule class and priority of kipmi0 supposed to be?

I checked some servers and the ps output of kipmi0 was:

 STARTED USER       PID  PPID  PGID TT       TID %MEM %CPU    VSZ CLS  NI PRI STAT WCHAN        COMMAND
  Nov 03 root        52     2     0 ?         52  0.0  0.0      0 TS   19   0 SN   ipmi_thread   \_ [kipmi0]

Seems the kipmi0 kernel thread should be TS schedule which means SCHED_OTHER.

While for one of my server(Redhat5.x 2.6.18-238.el5), it's RR which means SCHED_RR:

 STARTED USER       PID  PPID  PGID TT       TID %MEM %CPU    VSZ CLS  NI PRI STAT WCHAN        COMMAND
  Dec 04 root      1755    79     1 ?       1755  0.0  0.6      0 RR    - 139 SN   ?             \_ [kipmi0]

Does anyone know any factor which may cause such situation?


Solution

  • Answer to my own question:

    The default schedule class of Kipmi is TS while it could be changed by chrt. We just find out this command from an product initial script: chrt -p --rr 99 $pid_of_kipmi

    It's added for some reason, and regarding our finial solution,

    echo 100 > /sys/module/ipmi_si/parameters/kipmid_max_busy_us

    cat /etc/modprobe.d/ipmi.conf

    options ipmi_si kipmid_max_busy_us=100