Re: [PATCH AUTOSEL 4.4 08/65] btrfs: cleaner_kthread() doesn't need explicit freeze

Sasha Levin
2018-10-26T10:57:15Z

On Fri, Oct 26, 2018 at 08:58:57AM +0200, Jiri Kosina wrote:
>On Thu, 25 Oct 2018, Sasha Levin wrote:
>
>> >> cleaner_kthread() is not marked freezable, and therefore calling
>> >> try_to_freeze() in its context is a pointless no-op.
>> >>
>> >> In addition to that, as has been clearly demonstrated by 80ad623edd2d
>> >> ("Revert "btrfs: clear PF_NOFREEZE in cleaner_kthread()"), it's perfectly
>> >> valid / legal for cleaner_kthread() to stay scheduled out in an arbitrary
>> >> place during suspend (in that particular example that was waiting for
>> >> reading of extent pages), so there is no need to leave any traces of
>> >> freezer in this kthread.
>> >>
>> >> Fixes: 80ad623edd2d ("Revert "btrfs: clear PF_NOFREEZE in
>> >> Fixes: cleaner_kthread()")
>> >> Fixes: 696249132158 ("btrfs: clear PF_NOFREEZE in cleaner_kthread()")
>> >> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
>> >> Signed-off-by: David Sterba <dsterba@suse.com>
>> >> Signed-off-by: Sasha Levin <sashal@kernel.org>
>> >
>> >IIRC it was some preparatory work for livepatching. I did a quick check
>> >if this is safe for 4.4 and would say yes, but the patch does not fix
>> >anything so IMO this does not need to go to stable.
>>
>> Doesn't that also affect hibernation and such?
>
>This patch just removes pointless try_to_freeze(), that's guaranteed not
>to do anything and return immediately, as the btrfs kthread is not
>freezable.
>So I don't think it's needed in stable; the semantics is equivalent before
>and after.

Gotcha. I'll drop it. Thank you!

--
Thanks,
Sasha