Re: [PATCH v1] kthread/smpboot: Serialize kthread parking against wakeup

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 :-)

--
To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [Linux for Sparc]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux