Received: by 2002:ac0:a582:0:0:0:0:0 with SMTP id m2-v6csp4008175imm; Mon, 15 Oct 2018 07:43:12 -0700 (PDT) X-Google-Smtp-Source: ACcGV61D51z3Q+YsZ6kVy9VtLl6IkOwlow/UK1Xmiii8h4iSQDlVYPXAu2wQu9qYfNwuF1oRy3HE X-Received: by 2002:a17:902:82cc:: with SMTP id u12-v6mr16896798plz.146.1539614591995; Mon, 15 Oct 2018 07:43:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1539614591; cv=none; d=google.com; s=arc-20160816; b=C5w+6idKwZQkb8czOAaaU+IcbxwxMNeRcC7h5FWfsCRQVlz5tr+6MjUgsZ6FNUSB2A fDnCGCsaWTjZJDxWqkKYUVQTJoXE4N/ToNNcjlObw40EbsIiPJghA/iyeSv8w6jxD1oa 7TwY44fM5qvDVNxmX5YsvbaS5Me8NIt4VSsdSkj2271I/gD+iaBH4QIpI8U7pvw0XTR2 i00wml4Fuj9Ix7gAewBP9n2YU3XzlF58CTMB73w1n96kdLcPL7J1sfLybhkFKnyWv3H5 7uMQnXpumABT6HbDskX7ct1ToG80fLLiK1YAcwfsew/EmnTW794GUH+HONujYnRZ3URv oqDA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-transfer-encoding:content-disposition:mime-version :references:message-id:subject:cc:to:from:date; bh=6zI5ezUgkm0RRWgQLR1xLg267lsIFMcmIbajVMCNtto=; b=yNjWLerOzYA7Av2B1JZYenHLxbuXe/labpSxz+IdDB0i7Rd6z1+YTSw91MN3h6lgf0 ROBsmAFi2S2L0tkMe9mYCyeE1QBW7xX2avjMMcTIfNudJlaFvB+smc+gO69iELZqgieV wiLPoQSO8/UBOkYerznWb6ewxKGREpcM/vSgly3j4UEFZvQ8ObCNZROWSn8alb59DWWs A5T9fYSSrQEArhoDTwWbVDmap0Bk90SYxK68Nz7yMmBxGz3EhqVPYoiKth3pVDlnc22J KhPn6ylV19K3j7kxPuDHc7krZSSgXZyHHY+YtUDWveIPTrqypsFi7im9rK6VdBflk4th eI1Q== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id i31-v6si10840739pgb.29.2018.10.15.07.42.54; Mon, 15 Oct 2018 07:43:11 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726729AbeJOW15 convert rfc822-to-8bit (ORCPT + 99 others); Mon, 15 Oct 2018 18:27:57 -0400 Received: from Galois.linutronix.de ([146.0.238.70]:56399 "EHLO Galois.linutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726614AbeJOW15 (ORCPT ); Mon, 15 Oct 2018 18:27:57 -0400 Received: from bigeasy by Galois.linutronix.de with local (Exim 4.80) (envelope-from ) id 1gC44X-0000EH-MV; Mon, 15 Oct 2018 16:42:17 +0200 Date: Mon, 15 Oct 2018 16:42:17 +0200 From: Sebastian Andrzej Siewior To: "Paul E. McKenney" Cc: Tejun Heo , linux-kernel@vger.kernel.org, Boqun Feng , Peter Zijlstra , "Aneesh Kumar K.V" , tglx@linutronix.de, Steven Rostedt , Mathieu Desnoyers , Lai Jiangshan Subject: Re: [PATCH] rcu: Use cpus_read_lock() while looking at cpu_online_mask Message-ID: <20181015144217.nu5cp5mxlboyjbre@linutronix.de> References: <20180910135615.tr3cvipwbhq6xug4@linutronix.de> <20180911160532.GJ4225@linux.vnet.ibm.com> <20180911162142.cc3vgook2gctus4c@linutronix.de> <20180911170222.GO4225@linux.vnet.ibm.com> <20180919205521.GE902964@devbig004.ftw2.facebook.com> <20180919221140.GH4222@linux.ibm.com> <20181012184114.w332lnkc34evd4sm@linutronix.de> <20181013134813.GD2674@linux.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8BIT In-Reply-To: <20181013134813.GD2674@linux.ibm.com> User-Agent: NeoMutt/20180716 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2018-10-13 06:48:13 [-0700], Paul E. McKenney wrote: > > My concern would be that it would queue it by default for the current > CPU, which would serialize the processing, losing the concurrency of > grace-period initialization. But that was a long time ago, and perhaps > workqueues have changed. but the code here is always using the first CPU of a NUMA node or did I miss something? > So, have you tried using rcuperf to test the > update performance on a large system? Something like this: | tools/testing/selftests/rcutorture/bin/kvm.sh --torture rcuperf --configs TREE | ----Start batch 1: Mon Oct 15 12:46:13 CEST 2018 | TREE 142: Starting build. … | … | Average grace-period duration: 19952.7 microseconds | Minimum grace-period duration: 9004.51 | 50th percentile grace-period duration: 19998.3 | 90th percentile grace-period duration: 24994.4 | 99th percentile grace-period duration: 30002.1 | Maximum grace-period duration: 42998.2 | Grace periods: 6560 Batches: 209 Ratio: 31.3876 | Computed from rcuperf printk output. | Completed in 27 vs. 1800 | | Average grace-period duration: 18700 microseconds | Minimum grace-period duration: 7069.2 | 50th percentile grace-period duration: 18987.5 | 90th percentile grace-period duration: 22997 | 99th percentile grace-period duration: 28944.7 | Maximum grace-period duration: 36994.5 | Grace periods: 6551 Batches: 209 Ratio: 31.3445 | Computed from rcuperf printk output. | Completed in 27 vs. 1800 two runs patched followed by two runs without the patched: | Average grace-period duration: 19423.3 microseconds | Minimum grace-period duration: 8006.93 | 50th percentile grace-period duration: 19002.8 | 90th percentile grace-period duration: 23997.5 | 99th percentile grace-period duration: 29995.7 | Maximum grace-period duration: 37997.9 | Grace periods: 6526 Batches: 208 Ratio: 31.375 | Computed from rcuperf printk output. | Completed in 27 vs. 1800 | | Average grace-period duration: 18822.4 microseconds | Minimum grace-period duration: 8348.15 | 50th percentile grace-period duration: 18996.9 | 90th percentile grace-period duration: 23000 | 99th percentile grace-period duration: 27999.5 | Maximum grace-period duration: 39001.9 | Grace periods: 6540 Batches: 209 Ratio: 31.2919 | Computed from rcuperf printk output. | Completed in 27 vs. 1800 I think difference might come from cpufreq on the host. But in general, this is what you have been asking for or did you want to see something on the host (or an additional argument to the script)? > If this change does not impact performance on an rcuperf test, why not > send me a formal patch with Signed-off-by and commit log (including > performance testing results)? I will then apply it, it will be exposed > to 0day and eventually -next testing, and if no problems arise, it will go > to mainline, perhaps as soon as the merge window after the upcoming one. > > Fair enough? sure. > Thanx, Paul > Sebastian