Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753313AbaJUEs1 (ORCPT ); Tue, 21 Oct 2014 00:48:27 -0400 Received: from fgwmail5.fujitsu.co.jp ([192.51.44.35]:46494 "EHLO fgwmail5.fujitsu.co.jp" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750818AbaJUEs0 (ORCPT ); Tue, 21 Oct 2014 00:48:26 -0400 X-SecurityPolicyCheck: OK by SHieldMailChecker v2.0.1 X-SHieldMailCheckerPolicyVersion: FJ-ISEC-20120718-3 Message-ID: <5445E571.30107@jp.fujitsu.com> Date: Tue, 21 Oct 2014 13:47:45 +0900 From: Yasuaki Ishimatsu User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 MIME-Version: 1.0 To: Neil Zhang , Dan Streetman CC: Greg KH , "linux-kernel@vger.kernel.org" Subject: Re: [PATCH] drivers: base: update cpu offline info when do hotplug References: <1413775748-22478-1-git-send-email-zhangwm@marvell.com> <20141020044340.GA9589@kroah.com> <9034CBD80F070943B59700D7F8149ED9024EB81CAF@SC-VEXCH4.marvell.com> <20141020064826.GA4064@kroah.com> <9034CBD80F070943B59700D7F8149ED9024EB81CC6@SC-VEXCH4.marvell.com> <5445CB94.1090302@jp.fujitsu.com> <9034CBD80F070943B59700D7F8149ED9024EB81D55@SC-VEXCH4.marvell.com> <5445D27D.1080505@jp.fujitsu.com> <9034CBD80F070943B59700D7F8149ED9024EB81D5A@SC-VEXCH4.marvell.com> In-Reply-To: <9034CBD80F070943B59700D7F8149ED9024EB81D5A@SC-VEXCH4.marvell.com> Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 8bit X-SecurityPolicyCheck-GC: OK by FENCE-Mail X-TM-AS-MML: No Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org (2014/10/21 12:36), Neil Zhang wrote: > > >> -----Original Message----- >> From: Yasuaki Ishimatsu [mailto:isimatu.yasuaki@jp.fujitsu.com] >> Sent: 2014年10月21日 11:27 >> To: Neil Zhang; Dan Streetman >> Cc: Greg KH; linux-kernel@vger.kernel.org >> Subject: Re: [PATCH] drivers: base: update cpu offline info when do hotplug >> >> (2014/10/21 12:18), Neil Zhang wrote: >>> Yasuaki, >>> >>>> -----Original Message----- >>>> From: Yasuaki Ishimatsu [mailto:isimatu.yasuaki@jp.fujitsu.com] >>>> Sent: 2014年10月21日 10:57 >>>> To: Dan Streetman; Neil Zhang >>>> Cc: Greg KH; linux-kernel@vger.kernel.org >>>> Subject: Re: [PATCH] drivers: base: update cpu offline info when do >>>> hotplug >>>> >>>> Hi Neil and Dan, >>>> >>>> (2014/10/21 2:02), Dan Streetman wrote: >>>>> On Mon, Oct 20, 2014 at 3:40 AM, Neil Zhang wrote: >>>>>> Greg, >>>>>> >>>>>> >>>>>> -----Original Message----- >>>>>> From: Greg KH [mailto:gregkh@linuxfoundation.org] >>>>>> Sent: 2014年10月20日 14:48 >>>>>> To: Neil Zhang >>>>>> Cc: linux-kernel@vger.kernel.org >>>>>> 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 >>>> >>>> How is the issue reproduced. >>>> >>>> Here is a result on my x86 box with linux-3.18-rc1. >>>> >>>> - before offline CPU >>>> # cd /sys/devices/system/cpu/ >>>> # cat online >>>> 0-59 >>>> # for n in {0..59} ; 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 48 49 50 51 >>>> 52 53 54 >>>> 55 >>>> 56 57 58 59 >>>> >>>> - after offline CPU{1..59} >>>> # for n in {1..59} ; do echo 0 > cpu$n/online; done # cat online >>>> 0 >>>> # for n in {0..59} ; do test $( cat cpu$n/online ) -eq 1 && echo -n >>>> "$n " ; done ; echo "" >>>> 0 >>>> >>>> It seems that dev->offline is set to correct valute. >>>> >>> >> >>> Please use an in kernel governor to up / down a core instead of sysfs >> interface. >> >> Thank you for the information. But I don't know the in kernel governor? >> Could you point a documentation of it? >> > > Simply means that you call cpu_down / cpu_up directly in kernel base on the profiler. I understood it. When using sysfs, device_online/offline() changes dev->offline. Therefore, this problem did not occur in my previous test. Thanks, Yasuaki Ishimatsu > >> Thanks, >> Yasuaki Ishimatsu >> >>> >>>> Thanks, >>>> Yasuaki Ishimatsu >>>> >>>>> >>>>> >>>>> 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 >>>>> >>>>> Tested-by: Dan Streetman >>>>> >>>>>> >>>>>>> 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 >>>>> -- >>>>> To unsubscribe from this list: send the line "unsubscribe >>>>> linux-kernel" in the body of a message to majordomo@vger.kernel.org >>>>> More majordomo info at http://vger.kernel.org/majordomo-info.html >>>>> Please read the FAQ at http://www.tux.org/lkml/ >>>>> >>>> >>> >>> >>> Best Regards, >>> Neil Zhang >>>  {.n + +% lzwm b 맲 r zX  w {ay ʇڙ ,j >>> f h z  w >> >> j:+v w j m zZ+ ݢj" ! iO z v ^ m >> nƊ Y& >>> >> > > > Best Regards, > Neil Zhang > ��칻�&�~�&���+-��ݶ��w��˛���m�b��dz�ޖ)���w*jg��������ݢj/���z�ޖ��2�ޙ���&�)ߡ�a�����G���h��j:+v���w�٥>W����i�axPj�m���� -�+��d�_ > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/