RE: [PATCH] drivers: base: update cpu offline info when do hotplug

From: Neil Zhang
Date: Mon Oct 20 2014 - 20:47:22 EST


Dan,

> -----Original Message-----
> From: ddstreet@xxxxxxxxx [mailto:ddstreet@xxxxxxxxx] On Behalf Of Dan
> Streetman
> Sent: 2014å10æ21æ 1:03
> To: Neil Zhang
> Cc: Greg KH; linux-kernel@xxxxxxxxxxxxxxx
> Subject: Re: [PATCH] drivers: base: update cpu offline info when do
> hotplug
>
> On Mon, Oct 20, 2014 at 3:40 AM, Neil Zhang <zhangwm@xxxxxxxxxxx> wrote:
> > Greg,
> >
> >
> > -----Original Message-----
> > From: Greg KH [mailto:gregkh@xxxxxxxxxxxxxxxxxxx]
> > Sent: 2014å10æ20æ 14:48
> > To: Neil Zhang
> > Cc: linux-kernel@xxxxxxxxxxxxxxx
> > Subject: Re: [PATCH] drivers: base: update cpu offline info when do
> > hotplug
> >
> > On Sun, Oct 19, 2014 at 11:39:23PM -0700, Neil Zhang wrote:
> >>> How much noise is this going to cause on a big/little system that
> >>> constantly hot unplug/plugs processors all of the time?
> >>
> >> Can you explain more what kind of noise will be introduced on a
> big/little system?
> >
> > Have you tested this on such a machine?
> >
> > I didn't have such kind of machine on hand.
> > Can anyone has such machine to verify it?
> > Thanks!
>
> I tested this on a ppc PowerVM system, using dlpar operations to
> remove/add cpus.
>
> Without this patch the cpu online nodes get out of sync with the main
> online node (and the actual state of the cpus), because they aren't
> updated as the cpus are brought up/down:
>
> [root@br10p02 cpu]$ pwd
> /sys/devices/system/cpu
> [root@br10p02 cpu]$ cat online
> 0-39
> [root@br10p02 cpu]$ for n in {0..47} ; do test $( cat cpu$n/online ) -
> eq 1 && echo -n "$n " ; done ; echo ""
> 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
> 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
>
>
> While with the patch, the cpu online nodes are kept up to date as the
> cpus are brought up/down:
>
> [root@br10p02 cpu]$ pwd
> /sys/devices/system/cpu
> [root@br10p02 cpu]$ cat online
> 0-39
> [root@br10p02 cpu]$ for n in {0..47} ; do test $( cat cpu$n/online ) -
> eq 1 && echo -n "$n " ; done ; echo ""
> 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
> 27 28 29 30 31 32 33 34 35 36 37 38 39
>
>
> Feel free to add

Thanks for your kindly test!

>
> Tested-by: Dan Streetman <ddstreet@xxxxxxxx>
>
> >
> >> As I know IKS on arm will use cpu_suspend way to power down a core.
> >
> > Are you sure that it also doesn't use that same functionality to drop
> a processor to save power?
> >
> > As I know it use cpu_suspend to switch out a processor in IKS and
> there is no cpu hotplug notifier in this procedure.
> >
> >
> > Why do you need/want this notification? What are you going to do
> with this information that you don't already have?
> >
> > The offline won't be updated if an in kernel hotplug governor plug in
> / out a core which cause the sysfs interface report a wrong status.
> >
> >
> > thanks,
> >
> > greg k-h
> >
> >
> > Best Regards,
> > Neil Zhang


Best Regards,
Neil Zhang
N‹§²æ¸›yú²X¬¶ÇvØ–)Þ{.nlj·¥Š{±‘êX§¶›¡Ü}©ž²ÆzÚj:+v‰¨¾«‘êZ+€Êzf£¢·hšˆ§~†­†Ûÿû®w¥¢¸?™¨è&¢)ßf”ùy§m…á«a¶Úÿ 0¶ìå