Re: suspend regression in 4.1-rc1

From: Peter Zijlstra
Date: Mon May 18 2015 - 06:52:25 EST



Trim emails already.. this seems a spreading disease.

On Mon, May 18, 2015 at 06:10:20AM -0400, Ulrich Obergfell wrote:
> Michal,
>
> if I understand you correctly, Peter's patch solves the problem for you.
> I would like to make you aware of a patch that Don and I posted in April.
>
> https://lkml.org/lkml/2015/4/22/306
>
> watchdog_nmi_enable_all() should not use 'watchdog_user_enabled' at all.
> It should rather check the NMI_WATCHDOG_ENABLED bit in 'watchdog_enabled'.
> The patch is also in Andrew Morton's queue.
>
> http://ozlabs.org/~akpm/mmots/broken-out/watchdog-fix-watchdog_nmi_enable_all.patch
>
> Peter's patch introduces the same change in watchdog_nmi_enable_all(),
> plus some synchronization. However, I'm not sure if we actually need the
> synchronization. It is my understanding that {en,dis}able_all() are only
> called early during kernel startup via initcall 'fixup_ht_bug':
>
> kernel_init
> {
> kernel_init_freeable
> {
> lockup_detector_init
> {
> watchdog_enable_all_cpus
> smpboot_register_percpu_thread(&watchdog_threads)
> }
>
> do_basic_setup
> do_initcalls
> do_initcall_level
> do_one_initcall
> fixup_ht_bug // subsys_initcall(fixup_ht_bug)
> {
> watchdog_nmi_disable_all
>
> watchdog_nmi_enable_all
> }
> }
> }
>
> Peter,
>
> do we really need the synchronization here?

Well, those are the only current usage sites, but the interface is
exposed and should be fully and correctly implemented, otherwise a next
user might stumble upon sudden unexpected behaviour.

But yes, it appears superfluous for this particular usage.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/