Re: [PATCH 3/3] ACPI: EC: Change EC noirq tuning to be an optional behavior

From: Chen Yu
Date: Thu Jul 06 2017 - 04:30:29 EST


Hi Lv,
On Mon, Jul 03, 2017 at 01:15:26PM +0800, Zheng, Lv wrote:
> Hi, Rafael
>
> > From: Rafael J. Wysocki [mailto:rjw@xxxxxxxxxxxxx]
> > Subject: Re: [PATCH 3/3] ACPI: EC: Change EC noirq tuning to be an optional behavior
> >
> > On Wednesday, June 14, 2017 01:59:24 PM Lv Zheng wrote:
> > > According to the bug report, though the busy polling mode can make noirq
> > > stages executed faster, it causes abnormal fan blowing in noirq stages.
> > >
> > > This patch prepares an option so that the automatic busy polling mode
> > > switching for noirq stages can be enabled by who wants to tune it, not all
> > > users.
> > > Noticed that the new global option cannot be changed during noirq stages.
> > > There is no need to lock its value changes to sync with polling mode
> > > settings switches.
> > >
> > > For reporters and testers in the thread, as there are too many reporters
> > > on the bug link, this patch only picks names from most active commenters.
> > > Sorry for the neglet.
> > >
> > > Link: https://bugzilla.kernel.org/show_bug.cgi?id=191181
> > > Reported-by: Tatsuyuki Ishi <ishitatsuyuki@xxxxxxxxx>
> > > Reported-by: Claudio Sacerdoti Coen <claudio.sacerdoticoen@xxxxxxxx>
> > > Tested-by: Nicolo' <nicolopiazzalunga@xxxxxxxxx>
> > > Reported-by: Jens Axboe <axboe@xxxxxxxxx>
> > > Tested-by: Gjorgji Jankovski <j.gjorgji@xxxxxxxxx>
> > > Tested-by: Damjan Georgievski <gdamjan@xxxxxxxxx>
> > > Tested-by: Fernando Chaves <nanochaves@xxxxxxxxx>
> > > Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx>
> >
> > First of all, this seems to be a fix for commit c3a696b6e8f8 (ACPI / EC: Use busy polling
> > mode when GPE is not enabled), so there should be a Fixes: tag pointing to that
> > one.
> >
> > Moreover, if that is just a performance optimization and not a matter of correctness,
> > why don't we simply drop acpi_ec_enter/leave_noirq() entirely?
> >
> > What is going to break if we do that?
>
> Let me Cc Yu for justification.
> I just added busy poll support for suspend/boot according to the root cause reported by him.
> He should know the end user requirements better than me.
>
I remembered the original issue was reported against the slowness during suspend/resume
due to the ec is running with GPE disabled, and falls into schedule_timeout() loop.

If the busy polling mode is controlled by the boot options rather than
acpi_ec_enter/leave_noirq(), then user should be noticed of the result
that the cpu usage might be always higer if they enable the busy polling
mode.

Thanks,
Yu
> Thanks and best regards
> Lv