From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Kohli, Gaurav" Subject: Re: [PATCH v1] kthread/smpboot: Serialize kthread parking against wakeup Date: Tue, 5 Jun 2018 16:43:45 +0530 Message-ID: References: <20180426085719.GW4129@hirez.programming.kicks-ass.net> <4d3f68f8-e599-6b27-a2e8-9e96b401d57a@codeaurora.org> <20180430111744.GE4082@hirez.programming.kicks-ass.net> <3af3365b-4e3f-e388-8e90-45a3bd4120fd@codeaurora.org> <20180501101845.GE12217@hirez.programming.kicks-ass.net> <20180501113132.GF12217@hirez.programming.kicks-ass.net> <745d762d-9ab3-0749-9b87-9bb03d913071@codeaurora.org> <20180501131904.GG12217@hirez.programming.kicks-ass.net> <9b289790-9b3a-73bd-7166-bf39f32cefd8@codeaurora.org> <20180502082011.GB12180@hirez.programming.kicks-ass.net> <830d7225-af90-a55a-991a-bb2023d538f1@codeaurora.org> <55221a5b-dd52-3359-f582-86830dd9f205@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Return-path: In-Reply-To: <55221a5b-dd52-3359-f582-86830dd9f205@codeaurora.org> Content-Language: en-US Sender: linux-kernel-owner@vger.kernel.org To: Peter Zijlstra Cc: tglx@linutronix.de, mpe@ellerman.id.au, mingo@kernel.org, bigeasy@linutronix.de, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, Neeraj Upadhyay , Will Deacon , Oleg Nesterov List-Id: linux-arm-msm@vger.kernel.org Hi Peter, As last mentioned on mail, we are still seeing issue with the latest approach and below is the susceptible race as mentioned earlier.. controller Thread CPUHP Thread takedown_cpu kthread_park kthread_parkme Set KTHREAD_SHOULD_PARK smpboot_thread_fn set Task interruptible wake_up_process if (!(p->state & state)) goto out; Kthread_parkme SET TASK_PARKED schedule raw_spin_lock(&rq->lock) ttwu_remote waiting for __task_rq_lock context_switch finish_lock_switch Case TASK_PARKED kthread_park_complete SET Running So it seems issue is still their with the latest mentioned fix kthread, sched/wait: Fix kthread_parkme() completion issue. Regards Gaurav On 5/7/2018 4:53 PM, Kohli, Gaurav wrote: > Corrected the formatting, Sorry for spam. > > >> >> HI Peter, >> >> We have tested with new patch and still seeing same issue, in this >> dumps we don't have debug traces, but seems there still exist race >> from code review , Can you please check it once: >> >> Controller Thread                               CPUHP Thread >> takedown_cpu >> kthread_park >> kthread_parkme >> Set KTHREAD_SHOULD_PARK >>                                                 smpboot_thread_fn >>                                                 set Task interruptible >> >> >> wake_up_process >> >>                                                 Kthread_parkme >>                                                 SET TASK_PARKED >>                                                 schedule >>                                                 raw_spin_lock(&rq->lock) >> >>                                                 context_switch >> >>                                                 finish_lock_switch >> >> >> >>                                                 Case TASK_PARKED >>                                                 kthread_park_complete >> >> >> SET TASK_INTERRUPTIBLE >> >> >> And also seeing the same warning during unpark of cpuhp from controller: >>   if (!wait_task_inactive(p, state)) { >>                  WARN_ON(1); >>                  return; >>          } >> 325.065893] [] kthread_unpark+0x80/0xd8 >> [  325.065902] [] bringup_cpu+0xa0/0x12c >> [  325.065910] [] cpuhp_invoke_callback+0xb4/0x5c8 >> [  325.065917] [] cpuhp_up_callbacks+0x3c/0x154 >> [  325.065924] [] _cpu_up+0x134/0x208 >> [  325.065931] [] do_cpu_up+0x168/0x1a0 >> [  325.065938] [] cpu_up+0x24/0x30 >> [  325.065948] [] cpu_subsys_online+0x20/0x2c >> [  325.065956] [] device_online+0x70/0xb4 >> [  325.065962] [] online_store+0xd0/0xdc >> [  325.065971] [] dev_attr_store+0x40/0x54 >> [  325.065982] [] sysfs_kf_write+0x5c/0x74 >> [  325.065988] [] kernfs_fop_write+0xcc/0x1ec >> [  325.065999] [] vfs_write+0xb4/0x1d0 >> [  325.066006] [] SyS_write+0x60/0xc0 >> [  325.066014] [] el0_svc_naked+0x24/0x28 >> >> >> And after this same crash occured: >> [  325.521307] [] smpboot_thread_fn+0x26c/0x2c8 >> [  325.527295] [] kthread+0xf4/0x108 >> >> I will put more debug ftraces to check what is going on exactly. >> >> Regards >> Gaurav >> >> >> >> > -- Qualcomm India Private Limited, on behalf of Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project.