Received: by 2002:a05:7412:8d10:b0:f3:1519:9f41 with SMTP id bj16csp4524905rdb; Tue, 12 Dec 2023 01:51:15 -0800 (PST) X-Google-Smtp-Source: AGHT+IGyE/UrAGPQSDQBwkfmBBQ6fv5JrMypafFy1zKbE1GsC3ZBXUyjA+Hptv1DvNGTzuMam1Na X-Received: by 2002:a92:b05:0:b0:35d:7179:3e71 with SMTP id b5-20020a920b05000000b0035d71793e71mr7119516ilf.127.1702374675155; Tue, 12 Dec 2023 01:51:15 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1702374675; cv=none; d=google.com; s=arc-20160816; b=LDpu9MGUSBlHsi0gaeA7y07z0/63i3lAOSEhrCEZQtDEZLAXxCE9IoAFZT4PdCU8pz oYrvfk6H8oAAs9JXXANfp9GWsDceGmfhlgah1Ep8NWsUzSMuT2Cx+L4NcQyXTuL1DrgS su+XAUaJ1xblaHhS3I7f+KVF14VZ1n+lGx5tLr3FYxInMfz8wcFf4YUcdJe6qG4TzJO8 QzcdHvTH7qxNGd6s7Nx7l0YWBLeOJREqKT1KaHG8JCZIpxv5kMeVliMMTIxY3RDZ6Jbn V9skh2cu54iGvJwD9SR3bo5S4UD1+/CZmk7bogdM/hzunLI9wWH1gVIgrzpif3+BX1l1 ucqQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=v0YruFUcs7CpWDgdQcyd2R9bRZBZj+vBSAemz/y0HZ4=; fh=BDL/a/ouV+t/CAyBcvNlMEmOkYdq8S2Mf5MVqbnjn8c=; b=WpaaaIg9rWviO1QVpdlAN3gZ7rdpnOlytC+KT5JcHYstebjxItkIoE0/NCzkeuHF67 Pv+0XFTPU0NoK5fJphaXbU+t/G7BnxQM33r1lzlHBD0i79Gpe5p9yRscEwXDt4AgEB9D Peiea6Qw2dXVwnHteqF4MZ0A2azW8f8ZOaiuk1NEvI2KEXXeiGy/i/cDbSz7aYn+IgXu cKxwuGEicEjTn8k+q22edwtDFBeriRiYT56bXN5rbemRP6TUZscp//1CMkvQhFq/zx5L dPgS2+LKxtvaSXkDbxLzNlu3Qy9BaJPAtKoA2PNOSkHNfdCiy6hBwtDpprczFmnK+B/e XRpA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=Rd71J2g+; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.34 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from howler.vger.email (howler.vger.email. [23.128.96.34]) by mx.google.com with ESMTPS id l2-20020a170902f68200b001cfd0ddc5absi7631142plg.331.2023.12.12.01.51.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 12 Dec 2023 01:51:15 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.34 as permitted sender) client-ip=23.128.96.34; Authentication-Results: mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=Rd71J2g+; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.34 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by howler.vger.email (Postfix) with ESMTP id D4DC780977B3; Tue, 12 Dec 2023 01:51:12 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at howler.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1346213AbjLLJu1 (ORCPT + 99 others); Tue, 12 Dec 2023 04:50:27 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39334 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230218AbjLLJuS (ORCPT ); Tue, 12 Dec 2023 04:50:18 -0500 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 54FB612C for ; Tue, 12 Dec 2023 01:50:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1702374620; 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=v0YruFUcs7CpWDgdQcyd2R9bRZBZj+vBSAemz/y0HZ4=; b=Rd71J2g+3EQKThxDViRCD3zf/YI5uuuaHu4FcQ7xJdeUaQBl5vDwlcPy0QukzR8P8eDXoc yf23fydjZE3YACKMqnvT3Areanxo2dUFkJp+5MIbsI5NasF5gA1Z7CS2un8mMT8mo27mZi Hn0ALAGDVPxOxuMkihliCuURnXoEPPo= Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-626-2RbOY2DAPlqYvVM5NNv1bQ-1; Tue, 12 Dec 2023 04:50:14 -0500 X-MC-Unique: 2RbOY2DAPlqYvVM5NNv1bQ-1 Received: from smtp.corp.redhat.com (int-mx09.intmail.prod.int.rdu2.redhat.com [10.11.54.9]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 78EC4185A78E; Tue, 12 Dec 2023 09:50:14 +0000 (UTC) Received: from fedora (unknown [10.72.120.5]) by smtp.corp.redhat.com (Postfix) with ESMTPS id F4160492BC6; Tue, 12 Dec 2023 09:50:09 +0000 (UTC) Date: Tue, 12 Dec 2023 17:50:04 +0800 From: Ming Lei To: Yury Norov Cc: Andrew Morton , Thomas Gleixner , linux-kernel@vger.kernel.org, Andy Shevchenko , Rasmus Villemoes Subject: Re: [PATCH v3 3/7] lib/group_cpus: relax atomicity requirement in grp_spread_init_one() Message-ID: References: <20231212042108.682072-1-yury.norov@gmail.com> <20231212042108.682072-4-yury.norov@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20231212042108.682072-4-yury.norov@gmail.com> X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.9 X-Spam-Status: No, score=-0.9 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on howler.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (howler.vger.email [0.0.0.0]); Tue, 12 Dec 2023 01:51:13 -0800 (PST) On Mon, Dec 11, 2023 at 08:21:03PM -0800, Yury Norov wrote: > Because nmsk and irqmsk are stable, extra atomicity is not required. > > Signed-off-by: Yury Norov > --- > lib/group_cpus.c | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/lib/group_cpus.c b/lib/group_cpus.c > index 10dead3ab0e0..7ac94664230f 100644 > --- a/lib/group_cpus.c > +++ b/lib/group_cpus.c > @@ -24,8 +24,8 @@ static void grp_spread_init_one(struct cpumask *irqmsk, struct cpumask *nmsk, > if (cpu >= nr_cpu_ids) > return; > > - cpumask_clear_cpu(cpu, nmsk); > - cpumask_set_cpu(cpu, irqmsk); > + __cpumask_clear_cpu(cpu, nmsk); > + __cpumask_set_cpu(cpu, irqmsk); > cpus_per_grp--; > > /* If the cpu has siblings, use them first */ > @@ -33,8 +33,8 @@ static void grp_spread_init_one(struct cpumask *irqmsk, struct cpumask *nmsk, > sibl = cpu + 1; > > for_each_cpu_and_from(sibl, siblmsk, nmsk) { > - cpumask_clear_cpu(sibl, nmsk); > - cpumask_set_cpu(sibl, irqmsk); > + __cpumask_clear_cpu(sibl, nmsk); > + __cpumask_set_cpu(sibl, irqmsk); I think this kind of change should be avoided, here the code is absolutely in slow path, and we care code cleanness and readability much more than the saved cycle from non atomicity. Thanks, Ming