Messages in this thread | | | Subject | Re: [PATCH v1] kthread/smpboot: Serialize kthread parking against wakeup | From | "Kohli, Gaurav" <> | Date | Thu, 7 Jun 2018 14:00:53 +0530 |
| |
HI ,
In the latest patch mentioned, k should be their instead of p:
-WARN_ON_ONCE(!wait_task_inactive(p, TASK_PARKED)) +WARN_ON_ONCE(!wait_task_inactive(k, TASK_PARKED))
Regards Gaurav
On 6/7/2018 12:29 AM, Peter Zijlstra wrote: > On Wed, Jun 06, 2018 at 03:51:16PM +0200, Oleg Nesterov wrote: >> IIUC, this will only affect smpboot_update_cpumask_percpu_thread() which can hit >> an already parked thread, but it doesn't need to wait. >> >> And it seems that smpboot_update_cpumask_percpu_thread() in turn needs some cleanups. >> Hmm. and its single user: kernel/watchdog.c. >> >> And speaking of watchdog.c, can't we simply kill the "watchdog/%u" threads? This is >> off-topic, but can't watchdog_timer_fn() use stop_one_cpu_nowait(watchdog) ? >> >> And I really think we should unexport kthread_park/unpark(), only smpboot_thread_fn() >> should use them. kthread() should not play with __kthread_parkme(). And even >> KTHREAD_SHOULD_PARK must die, I mean it should live in struct smp_hotplug_thread, >> not in struct kthread. >> >> OK, this is off-topic too. > >> And, let me repeat, can't we avoid complete_all() ? > > Yes, or at least if that watchdog crap is the only user. > > I have most of the patch reworking watchdog.c to use stop_one_cpu*(), > and that cleans up lots -- of course, I've not tested it yet, so it > could also be breaking lots :-) >
-- Qualcomm India Private Limited, on behalf of Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project.
| |