Received: by 2002:a6b:fb09:0:0:0:0:0 with SMTP id h9csp2318352iog; Sun, 26 Jun 2022 12:25:59 -0700 (PDT) X-Google-Smtp-Source: AGRyM1uJUKbbK+VpDmUkqMJ4ae4PT6nN+lddQxtmG427RlQD+ZsNwOOzjpqa+LaBhGoIrGVbWEHE X-Received: by 2002:a05:6402:35d3:b0:435:dd1d:183b with SMTP id z19-20020a05640235d300b00435dd1d183bmr12516764edc.369.1656271559527; Sun, 26 Jun 2022 12:25:59 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1656271559; cv=none; d=google.com; s=arc-20160816; b=Y6YemgtgSqCVaTetHezW9r+MxFODnUhj1TkhJsjNMwa5/sS4X2oCW9G35eWK5ouStO XwaxG4MS/msfuvYB7g9qWyoE6+fqt+ZNsJ3kyhiVR6cMJXgOWUaJKtsNOoC7aPhyGHrb ZMZYPl2Ei03BlmW6xsgfp7bsKQGFs8dZkfvCWI6Q4sysBNkBDqdLjM6EHYu2E+Bna+DV SsJ4UJrbM9/ziHeOZ9c+mNIDAK14PuFkSnfqbtT+PpHONouvi1lZX6AM0S+6lDCEXi+J RYnHitA52Mt8JT03KgMGCJ5pBp8WOAEQoVu9yBHHW9vIEadCYIkHsP5EzOZeDFKl/MiQ 5Qsg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:subject:mime-version:user-agent:message-id :in-reply-to:date:references:cc:to:from; bh=3FnjDckB0Jtjqlanggt3DiOgtKlY2njjm7KJpkqwPmg=; b=vGkK//CIJibO2OL923Miq8n4sfqPxJFvjTIYC8wcO5NB+ucd/LJqJEGNnNFKqQ3Dji XM3+z1UMsCdFoxzfN3NN9YETRzMmuyLscerejqSCS+0FDT7SwIep1rAcgdSyNrDNm0iF aakjd1DTpL/FdhQNBS08Xnjy5iRGMjNjvZROqpep9ucHIReHcnx8CBMfF/aI+Lf68INJ vspn1+27jHUiMXtMYy+7hYHbWuLvutnZW0b56ArbMH6GryqJndxaE1EB1oJfzX15Vr+x Eu0r2d0MmZjJ6oV/SgfBItmtsUkYqk02QwlfodzMDCVjlcGUHUnl7/uENn5HBKYjkqDi w/RA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=xmission.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id y4-20020a170906070400b006fa51d2401bsi10128669ejb.174.2022.06.26.12.25.32; Sun, 26 Jun 2022 12:25:59 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=xmission.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231867AbiFZTPT (ORCPT + 99 others); Sun, 26 Jun 2022 15:15:19 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57602 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231843AbiFZTPR (ORCPT ); Sun, 26 Jun 2022 15:15:17 -0400 Received: from out02.mta.xmission.com (out02.mta.xmission.com [166.70.13.232]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 40F15DF3A for ; Sun, 26 Jun 2022 12:15:16 -0700 (PDT) Received: from in02.mta.xmission.com ([166.70.13.52]:48334) by out02.mta.xmission.com with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.93) (envelope-from ) id 1o5Xiz-00ASkZ-SI; Sun, 26 Jun 2022 13:15:13 -0600 Received: from ip68-227-174-4.om.om.cox.net ([68.227.174.4]:57732 helo=email.froward.int.ebiederm.org.xmission.com) by in02.mta.xmission.com with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.93) (envelope-from ) id 1o5Xiy-008aSI-T2; Sun, 26 Jun 2022 13:15:13 -0600 From: "Eric W. Biederman" To: Linus Torvalds Cc: Christian Brauner , Tejun Heo , Petr Mladek , Lai Jiangshan , Michal Hocko , Linux Kernel Mailing List , Peter Zijlstra , Thomas Gleixner , Ingo Molnar , Andrew Morton , Oleg Nesterov References: <20220622140853.31383-1-pmladek@suse.com> <874k0863x8.fsf@email.froward.int.ebiederm.org> <87pmiw1fy6.fsf@email.froward.int.ebiederm.org> Date: Sun, 26 Jun 2022 14:14:45 -0500 In-Reply-To: (Linus Torvalds's message of "Sat, 25 Jun 2022 16:48:38 -0700") Message-ID: <87ilonuti2.fsf_-_@email.froward.int.ebiederm.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-XM-SPF: eid=1o5Xiy-008aSI-T2;;;mid=<87ilonuti2.fsf_-_@email.froward.int.ebiederm.org>;;;hst=in02.mta.xmission.com;;;ip=68.227.174.4;;;frm=ebiederm@xmission.com;;;spf=softfail X-XM-AID: U2FsdGVkX1/6ntGUKYDJC32bDb8alF2ElKoq9ehJkes= X-SA-Exim-Connect-IP: 68.227.174.4 X-SA-Exim-Mail-From: ebiederm@xmission.com X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-DCC: XMission; sa07 1397; Body=1 Fuz1=1 Fuz2=1 X-Spam-Combo: ***;Linus Torvalds X-Spam-Relay-Country: X-Spam-Timing: total 431 ms - load_scoreonly_sql: 0.05 (0.0%), signal_user_changed: 11 (2.7%), b_tie_ro: 10 (2.3%), parse: 0.95 (0.2%), extract_message_metadata: 3.1 (0.7%), get_uri_detail_list: 0.96 (0.2%), tests_pri_-1000: 4.3 (1.0%), tests_pri_-950: 1.38 (0.3%), tests_pri_-900: 1.08 (0.3%), tests_pri_-90: 171 (39.7%), check_bayes: 169 (39.3%), b_tokenize: 7 (1.7%), b_tok_get_all: 8 (1.9%), b_comp_prob: 2.1 (0.5%), b_tok_touch_all: 148 (34.4%), b_finish: 0.93 (0.2%), tests_pri_0: 219 (50.9%), check_dkim_signature: 0.60 (0.1%), check_dkim_adsp: 2.7 (0.6%), poll_dns_idle: 0.92 (0.2%), tests_pri_10: 2.1 (0.5%), tests_pri_500: 7 (1.6%), rewrite_mail: 0.00 (0.0%) Subject: [PATCH 0/3] kthread: Stop using TASK_UNINTERRUPTIBLE X-SA-Exim-Version: 4.2.1 (built Sat, 08 Feb 2020 21:53:50 +0000) X-SA-Exim-Scanned: Yes (on in02.mta.xmission.com) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Being silly I figured I would poke my nose in and see how much work it is to never wake up kthreads until we are ready to use them. This is my first draft at that and something that can hopefully shape the conversation on how we want to fix things a little bit. The big thing that needs to happen that I haven't implemented is that kthread_run and kthread_run_on_cpu need to be uninlined and moved into kthread.c. This will allow them to call wake_up_new_task even from modular code. The handful of drivers that are using kthread_create_on_node by extension need to be modified to use kthread_run or kthread_run_on_cpu. Eric W. Biederman (3): kthread: Remove the flags argument from kernel_thread kthread: Replace kernel_thread with new_kthread kthread: Stop abusing TASK_UNINTERRUPTIBLE (INCOMPLETE) arch/arm/common/bL_switcher.c | 2 +- arch/x86/kernel/cpu/resctrl/pseudo_lock.c | 4 +- drivers/block/mtip32xx/mtip32xx.c | 2 +- drivers/firmware/psci/psci_checker.c | 2 +- drivers/firmware/stratix10-svc.c | 4 +- drivers/scsi/bnx2fc/bnx2fc_fcoe.c | 2 +- drivers/scsi/bnx2i/bnx2i_init.c | 2 +- drivers/scsi/qedi/qedi_main.c | 2 +- include/linux/kthread.h | 4 +- include/linux/sched/task.h | 2 +- init/main.c | 6 +- kernel/bpf/cpumap.c | 2 +- kernel/dma/map_benchmark.c | 2 +- kernel/fork.c | 5 +- kernel/kthread.c | 120 +++++++++++++++--------------- kernel/smpboot.c | 1 + kernel/workqueue.c | 2 +- net/core/pktgen.c | 2 +- net/sunrpc/svc.c | 2 +- 19 files changed, 82 insertions(+), 86 deletions(-) Eric