Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755131AbbFBDNv (ORCPT ); Mon, 1 Jun 2015 23:13:51 -0400 Received: from mail-ie0-f182.google.com ([209.85.223.182]:34761 "EHLO mail-ie0-f182.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754546AbbFBDNp (ORCPT ); Mon, 1 Jun 2015 23:13:45 -0400 MIME-Version: 1.0 In-Reply-To: <20150601114019.GA14841@htj.duckdns.org> References: <64da06e6.12ce6.14dae8b205f.Coremail.cn_wyl2003@126.com> <20150601114019.GA14841@htj.duckdns.org> Date: Tue, 2 Jun 2015 11:13:44 +0800 Message-ID: Subject: Re: Fwd: [RFC] make kthread_worker_fn to be freezable From: yalin wang To: Tejun Heo Cc: Andrew Morton , laijs@cn.fujitsu.com, nacc@linux.vnet.ibm.com, penguin-kernel@i-love.sakura.ne.jp, Linux Kernel Mailing List Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1246 Lines: 32 2015-06-01 19:40 GMT+08:00 Tejun Heo : > Hello, > > On Mon, Jun 01, 2015 at 06:05:58PM +0800, yalin wang wrote: >> I notice that kthread_worker_fn() call try_to_freeze() function, >> but it don't make itself to be a freezable kthread, >> kthread default behavior is not freezable, we should change it if >> want try_to_freeze() work correctly. >> >> Signed-off-by: yalin wang > > Whether a kthread worker should be able to freeze or not is to be > determined by the owner of the specific kthread. If the kthread is > marked freezable, kthread_worker will freeze. If not, it won't. > this means i need create kthread like this : struct task_struct *kworker_task = kthread_run(kthread_worker_fn, &worker, "nvme%d", dev->instance); kworker_task->flags &= ~PF_NOFREEZE; is it safe to do like this ? i don't see an API to set other thread to be freezable . only set_freezable() , which set the current thread to be freezable . am i missing something ? Thanks -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/