]> git.itanic.dy.fi Git - linux-stable/commit
ipmi_si: Only schedule continuously in the thread in maintenance mode
authorCorey Minyard <cminyard@mvista.com>
Fri, 2 Aug 2019 12:31:36 +0000 (07:31 -0500)
committerCorey Minyard <cminyard@mvista.com>
Mon, 5 Aug 2019 21:17:27 +0000 (16:17 -0500)
commit340ff31ab00bca5c15915e70ad9ada3030c98cf8
tree58e04300e51ab77585c06ccf0850313162be1bcc
parent93b6984b31182cfc340495af17691c0b9d53f6b2
ipmi_si: Only schedule continuously in the thread in maintenance mode

ipmi_thread() uses back-to-back schedule() to poll for command
completion which, on some machines, can push up CPU consumption and
heavily tax the scheduler locks leading to noticeable overall
performance degradation.

This was originally added so firmware updates through IPMI would
complete in a timely manner.  But we can't kill the scheduler
locks for that one use case.

Instead, only run schedule() continuously in maintenance mode,
where firmware updates should run.

Signed-off-by: Corey Minyard <cminyard@mvista.com>
drivers/char/ipmi/ipmi_si_intf.c