From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id E8C55C4332F for ; Wed, 5 Oct 2022 16:14:29 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 603046B0072; Wed, 5 Oct 2022 12:14:29 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 5B2636B0073; Wed, 5 Oct 2022 12:14:29 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 452F66B0074; Wed, 5 Oct 2022 12:14:29 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 2F1126B0072 for ; Wed, 5 Oct 2022 12:14:29 -0400 (EDT) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id D3B991608DD for ; Wed, 5 Oct 2022 16:14:28 +0000 (UTC) X-FDA: 79987393416.08.6E271AC Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by imf22.hostedemail.com (Postfix) with ESMTP id 6379FC0013 for ; Wed, 5 Oct 2022 16:14:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1664986466; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=h8IFjZlZP/WQ78LWaXxVDrINKc4I9eLwNoWa4oc+Q8U=; b=IWTGLZifUvNIeCv8T5b3vncJG72Q2+aLXF/dB8pUj44D+61WSPOgIEsejCoLmL3NEEkDpa gr+iAJp3ZbOEgFuJmj9Nf8/2HsW54qafE5cGMHI+254F1reb/ONPGN0IxxY+Jkh3yPXaU1 xTYGYNigyN2l/rZQ+kX/NdbhQdMxUHM= Received: from mail-wr1-f70.google.com (mail-wr1-f70.google.com [209.85.221.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_128_GCM_SHA256) id us-mta-170--PQJ4GEpOvGLYGHiP5w7XA-1; Wed, 05 Oct 2022 12:14:22 -0400 X-MC-Unique: -PQJ4GEpOvGLYGHiP5w7XA-1 Received: by mail-wr1-f70.google.com with SMTP id q28-20020adfab1c000000b0022e0399964dso4224550wrc.8 for ; Wed, 05 Oct 2022 09:14:22 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=mime-version:message-id:date:references:in-reply-to:subject:cc:to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=h8IFjZlZP/WQ78LWaXxVDrINKc4I9eLwNoWa4oc+Q8U=; b=eQoLbz5/tIk0C/XjBPiEaIWho5p4GQA89ubl27t2lfW9AsfDemt+g9UTqV6GhjEJ+x ZUy5Dz1yhT1tJMukGW0+YOaOUOBOgqTescoGBiQZRXxUPgYRWIFSgWSo6OUKSHg2l7cZ W1CyFrBgP0pJ/OjR9wpgIiNUPrD3TI+OfHZ2LzNxaW61j9meW1hdCBBjY4Tj6VzqJaYz bK2P0lrifwVAP3N0b5xxoZUPzMHuEJ+OW1WqeWoGzwcnGZS2W9mKaNzyq/tXNj77yEji ZOar+9MPYimfvKmoDHv9DQ6juYLYVyaegnsAIo3GMcpHd/7a51T8EIZNObeP9ek0l3cb TBEg== X-Gm-Message-State: ACrzQf0t+UUiPM4dv5DRKhrLBY6cV/9Or+YvUWkDyk/m7aHq9QHAjfnG A8wJ9pl8gtfg55lCvA3bYwEauaJk48vaprgmUgtofNQNsduGmJedDUV7OfC6J6Oa1vewVIDmwYu k9RUzXlWpuR4= X-Received: by 2002:a5d:5c08:0:b0:228:e139:43f3 with SMTP id cc8-20020a5d5c08000000b00228e13943f3mr351003wrb.396.1664986459307; Wed, 05 Oct 2022 09:14:19 -0700 (PDT) X-Google-Smtp-Source: AMsMyM7Ap+AkZUjQNOKuWLZsMO3FeanzD7owNw3uY2MOnJOOwA7JRKE7kP4/gxls+InRnf/RmtkN5A== X-Received: by 2002:a5d:5c08:0:b0:228:e139:43f3 with SMTP id cc8-20020a5d5c08000000b00228e13943f3mr350996wrb.396.1664986459141; Wed, 05 Oct 2022 09:14:19 -0700 (PDT) Received: from vschneid.remote.csb ([149.71.65.94]) by smtp.gmail.com with ESMTPSA id l128-20020a1c2586000000b003bd44dc524csm2324923wml.34.2022.10.05.09.14.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 05 Oct 2022 09:14:18 -0700 (PDT) From: Valentin Schneider To: Hillf Danton Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, Lai Jiangshan , Peter Zijlstra , Frederic Weisbecker , Marcelo Tosatti Subject: Re: [PATCH v4 4/4] workqueue: Unbind workers before sending them to exit() In-Reply-To: <20221005145022.1695-1-hdanton@sina.com> References: <20221004150521.822266-1-vschneid@redhat.com> <20221005010832.1934-1-hdanton@sina.com> <20221005145022.1695-1-hdanton@sina.com> Date: Wed, 05 Oct 2022 17:14:17 +0100 Message-ID: MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1664986467; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=h8IFjZlZP/WQ78LWaXxVDrINKc4I9eLwNoWa4oc+Q8U=; b=5hYgAWNQosadz6agFtkVZpmdwXUW9YADahidqmuSOZi09zg1IchMCynPDs/w6pF07iPgVI AOR7OJWCTtYwJIJ2/g2GSvCeyqgFtVJOZTcoQlpIh104LipfvVzWa6wTGWlxfnU1+ZSfo9 VTXoG4zoyB8rAn7Pp0X0nnDjp72Tdoc= ARC-Authentication-Results: i=1; imf22.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=IWTGLZif; dmarc=pass (policy=none) header.from=redhat.com; spf=pass (imf22.hostedemail.com: domain of vschneid@redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=vschneid@redhat.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1664986467; a=rsa-sha256; cv=none; b=atPh7Iomr7+QBvRFQpAU7nLMSvhO3hhqIeew6PVVcUbFOKAyjMxVaN+KZwvRnOSqY/YKKz bT5e6tG1oYZtx4sbyDgXt+nLeoRuzZYOjamhqjsAbrY8yOlAw1zRcksgQkJTOnwG/r3fJi CVhtMPfBBl8z8+b/KFfEbol1ZpnB/AU= X-Rspamd-Queue-Id: 6379FC0013 Authentication-Results: imf22.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=IWTGLZif; dmarc=pass (policy=none) header.from=redhat.com; spf=pass (imf22.hostedemail.com: domain of vschneid@redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=vschneid@redhat.com X-Rspam-User: X-Rspamd-Server: rspam10 X-Stat-Signature: omrzq5df8jtrhcas44865ejjgy6uq4au X-HE-Tag: 1664986467-188960 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000061, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On 05/10/22 22:50, Hillf Danton wrote: > On 05 Oct 2022 12:13:17 +0100 Valentin Schneider > > Bound kworkers can be destroyed by the idle timer on a housekeeping CPU. > > Diff is only for thoughts. > > +++ b/kernel/workqueue.c > @@ -1985,6 +1985,7 @@ fail: > static void destroy_worker(struct worker *worker) > { > struct worker_pool *pool = worker->pool; > + int cpu = smp_processor_id(); > > lockdep_assert_held(&pool->lock); > > @@ -1999,6 +2000,12 @@ static void destroy_worker(struct worker > > list_del_init(&worker->entry); > worker->flags |= WORKER_DIE; > + > + if (!(pool->flags & POOL_DISASSOCIATED) && pool->cpu != cpu) { > + /* send worker to die on a housekeeping cpu */ > + cpumask_clear(&worker->task->cpus_mask); > + cpumask_set_cpu(cpu, &worker->task->cpus_mask); > + } > wake_up_process(worker->task); > } > The proper interface to play with that cpumask is set_cpus_allowed_ptr(), which requires a sleepable context, hence the whole series.