On Tue, Jul 09, 2019 at 03:11:47PM -0700, Tejun Heo wrote: > 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.
I believe the change was 33979734cd35ae "IPMI: use schedule in kthread" The original change that added the kthread was a9a2c44ff0a1350 "ipmi: add timer thread". I mis-remembered this, we switched from doing a udelay() to schedule(), but that udelay was 1us, so that's probably not helpful information. -corey > > Thanks. > > -- > tejun > > > _______________________________________________ > Openipmi-developer mailing list > Openipmi-developer@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/openipmi-developer _______________________________________________ Openipmi-developer mailing list Openipmi-developer@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openipmi-developer