Messages in this thread | | | Date | Tue, 9 Jul 2019 15:11:47 -0700 | From | Tejun Heo <> | Subject | Re: [PATCH] ipmi_si_intf: use usleep_range() instead of busy looping |
| |
On Tue, Jul 09, 2019 at 04:46:02PM -0500, Corey Minyard wrote: > On Tue, Jul 09, 2019 at 02:06:43PM -0700, Tejun Heo wrote: > > 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 patch replaces schedule() with usleep_range(100, 200). This > > allows the sensor readings to finish resonably fast and the cpu > > consumption of the kthread is kept under several percents of a core. > > The IPMI thread was not really designed for sensor reading, it was > designed so that firmware updates would happen in a reasonable time > on systems without an interrupt on the IPMI interface. This change > will degrade performance for that function. IIRC correctly the > people who did the patch tried this and it slowed things down too > much.
Also, can you point me to the exact patch? I'm kinda curious what kind of timning they used.
Thanks.
-- tejun
| |