Re: [PATCH v4 6/6] hwmon: use smp_call_on_cpu() for dell-smm i8k

From: Pali RohÃr
Date: Thu Apr 21 2016 - 09:27:44 EST

On Thursday 21 April 2016 15:12:52 Juergen Gross wrote:
> On 21/04/16 12:57, Pali RohÃr wrote:
> > On Tuesday 05 April 2016 21:31:52 Pali RohÃr wrote:
> >> On Tuesday 05 April 2016 16:54:14 Guenter Roeck wrote:
> >>> On Tue, Apr 05, 2016 at 07:10:07AM +0200, Juergen Gross wrote:
> >>>> Use the smp_call_on_cpu() function to call system management
> >>>> mode on cpu 0.
> >>>> Make call secure by adding get_online_cpus() to avoid e.g. suspend
> >>>> resume cycles in between.
> >>>>
> >>>> Signed-off-by: Juergen Gross <jgross@xxxxxxxx>
> >>>> ---
> >>>> V4: add call to get_online_cpus()
> >>>
> >>> Pali, any chance to test this ?
> >>
> >> I can test it, but just on machine where (probably) smm calls can be
> >> send from any cpu... Need some time for testing and I believe I can do
> >> that at the end of the week.
> >
> > Sorry I had absolutely no more free time last weekend :-( And same
> > prediction is for this weekend and also next one...
> Pali, I've got a Dell laptop (Latitude E6440) here. Would this device be
> okay for a test?


Proper regression test should check if this patch does not break any
function or drivers dependent on dcdbas.ko. And should be done on both
notebook devices: which needs to issue that smm call on cpu 0 and also
on which it is not needed.

Some notebooks which needs smm call to issued from cpu 0 can be found in
git commit messages of i8k, dell-laptop or dcdbas kernel drivers.

> What would you do for testing? In case you can give me
> some hints how to do a sensible test I'd do it.

Test e.g. dell-laptop.ko driver. It provides /sys interface for changing
keyboard backlight or changing rfkill switches (bluetooth wifi).

Also test tools from libsmbios (userspace) package.

There must be no difference in output/functionality with or without your

> I've verified by adding a printk() to smp_call_on_cpu() that at least
> one of the modified drivers has been used during system boot.

Also you can patch i8k/dcdbas smm function to print cpu number on which
is code running (to verify that it was really called on cpu 0 as

Pali RohÃr