From mboxrd@z Thu Jan 1 00:00:00 1970 From: Konrad Rzeszutek Wilk Subject: Re: patch "x86/cpufreq: relocate the driver register function" breaks cpu hot(un)plug Date: Fri, 9 Oct 2015 16:00:59 -0400 Message-ID: <20151009200059.GD23382@l.oracle.com> References: <1444409303.3009.5.camel@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mail6.bemta14.messagelabs.com ([193.109.254.103]) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1Zkdqu-0006Hs-Cj for xen-devel@lists.xenproject.org; Fri, 09 Oct 2015 20:01:16 +0000 Content-Disposition: inline In-Reply-To: <1444409303.3009.5.camel@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Dario Faggioli Cc: "xen-devel@lists.xenproject.org" , Wei Wang , Jan Beulich List-Id: xen-devel@lists.xenproject.org On Fri, Oct 09, 2015 at 06:48:23PM +0200, Dario Faggioli wrote: > Hey, > > As far as my bisection goes, commit > 49388f11d512bb92706ce046643bfbb3c1d963c9 "x86/cpufreq: relocate the > driver register function" prevents me from hot unplugging pCPUs. > > Xen does not crash or anything, but dom0 is stalled. In fact, with > current staging, here's what I see: > > root@Zhaman:~# echo 0 > /sys/devices/system/xen_cpu/xen_cpu6/online > [ 81.583001] INFO: rcu_sched detected stalls on CPUs/tasks: { 12} (detected by 3, t=5252 jiffies, g=1691, c=1690, q=76) > [ 81.583036] Task dump for CPU 12: > [ 81.583044] bash R running task 0 1347 1094 0x00000008 > [ 81.583056] ffffffff00000000 0000000000000000 0000000000000000 ffff8800192c2e38 > [ 81.583070] ffff8800008472e8 0000000000000002 ffff8800008472e8 ffff880013817858 > [ 81.583082] 0000000000000000 00000000000081a4 ffffffff811e8137 ffff8800192c2e38 > [ 81.583095] Call Trace: > [ 81.583110] [] ? notify_change+0x2f7/0x390 > [ 81.583148] [] ? do_truncate+0x74/0x90 > [ 81.583158] [] ? dput+0x26/0x230 > [ 81.583167] [] ? terminate_walk+0x35/0x40 > [ 81.583176] [] ? do_last+0x621/0x12c0 > [ 81.583188] [] ? xen_pcpu_down+0x47/0x70 > [ 81.583199] [] ? store_online+0x9d/0xb0 > [ 81.583210] [] ? kernfs_fop_write+0x12c/0x180 > [ 81.583220] [] ? __vfs_write+0x23/0xf0 > [ 81.583230] [] ? __sb_start_write+0x42/0xf0 > [ 81.583241] [] ? security_file_permission+0x21/0xa0 > [ 81.583250] [] ? vfs_write+0xa1/0x1c0 > [ 81.583259] [] ? filp_close+0x4f/0x70 > [ 81.583268] [] ? SyS_write+0x42/0xb0 > [ 81.583277] [] ? __close_fd+0x71/0xb0 > [ 81.583287] [] ? system_call_fastpath+0x16/0x75 > [ 144.555020] INFO: rcu_sched detected stalls on CPUs/tasks: { 12} (detected by 4, t=21007 jiffies, g=1691, c=1690, q=244) > [ 144.555046] Task dump for CPU 12: > [ 144.555051] bash R running task 0 1347 1094 0x00000008 > [ 144.555059] ffffffff00000000 0000000000000000 0000000000000000 ffff8800192c2e38 > [ 144.555068] ffff8800008472e8 0000000000000002 ffff8800008472e8 ffff880013817858 > [ 144.555076] 0000000000000000 00000000000081a4 ffffffff811e8137 ffff8800192c2e38 > [ 144.555084] Call Trace: > [ 144.555096] [] ? notify_change+0x2f7/0x390 > [ 144.555105] [] ? do_truncate+0x74/0x90 > [ 144.555112] [] ? dput+0x26/0x230 > [ 144.555118] [] ? terminate_walk+0x35/0x40 > [ 144.555124] [] ? do_last+0x621/0x12c0 > [ 144.555164] [] ? xen_pcpu_down+0x47/0x70 > [ 144.555172] [] ? store_online+0x9d/0xb0 > [ 144.555179] [] ? kernfs_fop_write+0x12c/0x180 > [ 144.555186] [] ? __vfs_write+0x23/0xf0 > [ 144.555192] [] ? __sb_start_write+0x42/0xf0 > [ 144.555200] [] ? security_file_permission+0x21/0xa0 > [ 144.555206] [] ? vfs_write+0xa1/0x1c0 > [ 144.555212] [] ? filp_close+0x4f/0x70 > [ 144.555217] [] ? SyS_write+0x42/0xb0 > [ 144.555223] [] ? __close_fd+0x71/0xb0 > [ 144.555230] [] ? system_call_fastpath+0x16/0x75 > > If I revert that patch, the issue goes away. > > Any ideas? I think it is due to xen-acpi-processor re-uploading the C and P states whenever an CPU goes up. It also does this after S3 suspend. Anyhow it may be due to the fact that cpufreq_register_driver in Xen is now '__init' If you remove that little thing would it work? > > Regards, > Dario > > PS. yes, I'll implement a cpu hotplug/unplug testcase ASAP. :-) > > -- > <> (Raistlin Majere) > ----------------------------------------------------------------- > Dario Faggioli, Ph.D, http://about.me/dario.faggioli > Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK) > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xen.org > http://lists.xen.org/xen-devel