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 X-Spam-Level: X-Spam-Status: No, score=-3.8 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id E5185C55178 for ; Mon, 26 Oct 2020 13:50:18 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 435DA21D42 for ; Mon, 26 Oct 2020 13:50:17 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="hj2Xzb1l" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 435DA21D42 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 5CAE66B0062; Mon, 26 Oct 2020 09:50:17 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 5543A6B006C; Mon, 26 Oct 2020 09:50:17 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 419C76B006E; Mon, 26 Oct 2020 09:50:17 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0240.hostedemail.com [216.40.44.240]) by kanga.kvack.org (Postfix) with ESMTP id 0AA2C6B0062 for ; Mon, 26 Oct 2020 09:50:16 -0400 (EDT) Received: from smtpin21.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay03.hostedemail.com (Postfix) with ESMTP id 967D4824999B for ; Mon, 26 Oct 2020 13:50:16 +0000 (UTC) X-FDA: 77414210832.21.joke19_2a0606b27274 Received: from filter.hostedemail.com (10.5.16.251.rfc1918.com [10.5.16.251]) by smtpin21.hostedemail.com (Postfix) with ESMTP id 6F578180442C2 for ; Mon, 26 Oct 2020 13:50:16 +0000 (UTC) X-HE-Tag: joke19_2a0606b27274 X-Filterd-Recvd-Size: 4063 Received: from mail-qt1-f196.google.com (mail-qt1-f196.google.com [209.85.160.196]) by imf10.hostedemail.com (Postfix) with ESMTP for ; Mon, 26 Oct 2020 13:50:16 +0000 (UTC) Received: by mail-qt1-f196.google.com with SMTP id z33so6670802qth.8 for ; Mon, 26 Oct 2020 06:50:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to; bh=TxfXjOwfBykntP1Jpf/tQTb6j5RyS9vTmp3y0ZTz9iY=; b=hj2Xzb1lS89qCPlK7eJpZN6WVDn7yEvhz2twlUFqiehOWCaTaej0//mbn2FMaBLWIn F8DmpTbIeRFOrtl/Okvy7RHEq7WiFTwBo+PePbx+LWTp2YCj4xddlYVuscGpZ3IJ+oG5 b3UES6VFcG9UeaEmeEa9bqNb87n5yviccl9+PDzNl894xBrHxr5ZNPj92FHGAHIAN8TY ooyxG4RgS33cDTqkBXOv0bc2i+LsBV1CkYSOwgTxt0QD7bG3eqnfluHeFkPQfBDRrIBs gRLxte4i3wvSPNT3sKqXiR5eJ+1OqAy2afreeXeTYcDBDdHkf0qFclAlhIc3y/aZheQ/ 65TA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:date:from:to:cc:subject:message-id :references:mime-version:content-disposition:in-reply-to; bh=TxfXjOwfBykntP1Jpf/tQTb6j5RyS9vTmp3y0ZTz9iY=; b=OQtA4A0HrlkzzK65tamExzEiAZcUvKCoLpXssNyeNvY3D0bmfQJb+un4xOjK98jLlK SwwoEwyz7x9avYXGtznsMKcNf5xuZXrBRwTQ5OXWBYzfqWXWIANKnWuOVUxSJGgP86Mz XvauFNAu8im4Nnjp9VKFAPgYq+zd953hhQkkpPJ4czamVJOS2gCByS3gVhPts4FSZ4A5 VX7oZanTtdj2ko1cio2T74rgU/QKiDQCFGsXL/8Uvgp9f1KKHxW44LvkiDHlWHBjoy52 diSt9D4dDIszPPWZ3MPqJTRpECr4BR13byDYLqVmIyUf1XaPeHVfQ34YYrL8nFCysNyN Zf6g== X-Gm-Message-State: AOAM53298yu1UWgtUiKnKhrO0HGun0jv9Oq67CrolGlMnlT/fbWRITOy zfMkT9I7hNNVk/2FIJCZcGs= X-Google-Smtp-Source: ABdhPJxOEtJ6n3AC1FOzURdLuieNu+2Vq5bFekGeLN4FlTYCZJELfdfRy36ovzb2dYtDTXJBwu97mQ== X-Received: by 2002:aed:31e3:: with SMTP id 90mr1350645qth.300.1603720215250; Mon, 26 Oct 2020 06:50:15 -0700 (PDT) Received: from localhost (dhcp-48-d6-d5-c6-42-27.cpe.echoes.net. [199.96.181.106]) by smtp.gmail.com with ESMTPSA id b191sm6651842qkg.81.2020.10.26.06.50.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 26 Oct 2020 06:50:14 -0700 (PDT) Date: Mon, 26 Oct 2020 09:50:11 -0400 From: Tejun Heo To: qiang.zhang@windriver.com Cc: pmladek@suse.com, akpm@linux-foundation.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: Re: [PATCH] kthread_worker: re-set CPU affinities if CPU come online Message-ID: <20201026135011.GC73258@mtj.duckdns.org> References: <20201026065213.30477-1-qiang.zhang@windriver.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20201026065213.30477-1-qiang.zhang@windriver.com> X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Mon, Oct 26, 2020 at 02:52:13PM +0800, qiang.zhang@windriver.com wrote: > @@ -737,8 +741,11 @@ __kthread_create_worker(int cpu, unsigned int flags, > if (IS_ERR(task)) > goto fail_task; > > - if (cpu >= 0) > + if (cpu >= 0) { > kthread_bind(task, cpu); > + worker->bind_cpu = cpu; > + cpuhp_state_add_instance_nocalls(kworker_online, &worker->cpuhp_node); > + } > > worker->flags = flags; > worker->task = task; ... > +static int kworker_cpu_online(unsigned int cpu, struct hlist_node *node) > +{ > + struct kthread_worker *worker = hlist_entry(node, struct kthread_worker, cpuhp_node); > + struct task_struct *task = worker->task; > + > + if (cpu == worker->bind_cpu) > + WARN_ON_ONCE(set_cpus_allowed_ptr(task, cpumask_of(cpu)) < 0); > + return 0; > +} I don't think this works. The kthread may have changed its binding while running using set_cpus_allowed_ptr() as you're doing above. Besides, when a cpu goes offline, the bound kthread can fall back to other cpus but its cpu mask isn't cleared, is it? Thanks. -- tejun