Received: by 2002:a05:6a10:c604:0:0:0:0 with SMTP id y4csp2370132pxt; Sun, 8 Aug 2021 21:35:56 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzZQskGCI2XJZKvo/6nCHiI24kH4rgsTILleQkCoXa3zLTLGrfAHenV2A9KMRlK4Uwq/fPK X-Received: by 2002:a17:906:d045:: with SMTP id bo5mr21146382ejb.461.1628483756067; Sun, 08 Aug 2021 21:35:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1628483756; cv=none; d=google.com; s=arc-20160816; b=N9qvKDy3Sl9X2Kxc2bkdsMU+iW/ByKplbpaYRX6cGteu6JgMagBzlR3CXpSlnlnsir OtWEQVotMJTROR9Hi41rxP8JgRy8SlKG0NWYim8HaL1SDGFG4aLVp0Db6NlPZyO4nmnH X5Kr19ut+EcHmQuj6HwUH+we0s1dEsikyamoJIaFvwZnJaE8973UwDZIpVLBcN8/zUIl ASIjF+pNC9e9PhketCgRiUwphevv1hZv4xTTj65RKR28bmgYoWsrypphFUrm/iiLAlZt uNQTp2ffTRA8n1mXaVPGk1cXGXRm4tCKow21UQmq59cL3lNGGnyAi+tGe/TbvB5CX50Z jAKw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=IzmrZk4LvN32lYviu2x2SFkwLOlSX/If8Zht7tGdmz0=; b=OHtuhXS/iloa91Pq1n77U6FYBqjiSJBD2k5onSfY4fy5GWhOdb4kY9j5lEdKIVczba OoHI+nIfh86jJOpdbrdm+gQsFnwYo3o9puNwIrMWJpeXWDvADunjRpI5djbj6iMi+Rvy 095wOft+yt05ecs3vJAGNcehUHWG6dzIw9prxV/fpeNUlDMnVvqpSz3lo3dL6vUN8QAr me/Ltm/aOE9gDJ2suYS3k7X35XjPI0/Ku+P5uXz/rV/yKQ8LTAxapJXMCDJcWAe0yMLt iD6tpr3FXfMS1gzBx02juHrEuiVnmRkFWdgW46QoSOCKgZ3Dfe6CasZt8DgTLVSEBKNs bGmg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id p2si15727044ejj.156.2021.08.08.21.35.33; Sun, 08 Aug 2021 21:35:56 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232991AbhHIEds (ORCPT + 99 others); Mon, 9 Aug 2021 00:33:48 -0400 Received: from smtp-out1.suse.de ([195.135.220.28]:59006 "EHLO smtp-out1.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232956AbhHIEdm (ORCPT ); Mon, 9 Aug 2021 00:33:42 -0400 Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by smtp-out1.suse.de (Postfix) with ESMTPS id 9309721EF7; Mon, 9 Aug 2021 04:33:21 +0000 (UTC) Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id B4F7E13398; Mon, 9 Aug 2021 04:33:19 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id yCCuIg+wEGEfDQAAMHmgww (envelope-from ); Mon, 09 Aug 2021 04:33:19 +0000 From: Davidlohr Bueso To: acme@kernel.org Cc: mingo@redhat.com, peterz@infradead.org, tglx@linutronix.de, linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org, dave@stgolabs.net, Davidlohr Bueso Subject: [PATCH 5/7] perf/bench-futex, requeue: Add --broadcast option Date: Sun, 8 Aug 2021 21:32:59 -0700 Message-Id: <20210809043301.66002-6-dave@stgolabs.net> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20210809043301.66002-1-dave@stgolabs.net> References: <20210809043301.66002-1-dave@stgolabs.net> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Such that all threads are requeued to uaddr2 in a single futex_cmp_requeue(), unlike the default, which is 1. Signed-off-by: Davidlohr Bueso --- tools/perf/bench/futex-requeue.c | 4 ++++ tools/perf/bench/futex.h | 1 + 2 files changed, 5 insertions(+) diff --git a/tools/perf/bench/futex-requeue.c b/tools/perf/bench/futex-requeue.c index 88cb7e2a6729..80f40ee92b53 100644 --- a/tools/perf/bench/futex-requeue.c +++ b/tools/perf/bench/futex-requeue.c @@ -52,6 +52,7 @@ static const struct option options[] = { OPT_BOOLEAN( 's', "silent", ¶ms.silent, "Silent mode: do not display data/details"), OPT_BOOLEAN( 'S', "shared", ¶ms.fshared, "Use shared futexes instead of private ones"), OPT_BOOLEAN( 'm', "mlockall", ¶ms.mlockall, "Lock all current and future memory"), + OPT_BOOLEAN( 'B', "broadcast", ¶ms.broadcast, "Requeue all threads at once"), OPT_END() }; @@ -153,6 +154,9 @@ int bench_futex_requeue(int argc, const char **argv) if (params.nrequeue > params.nthreads) params.nrequeue = params.nthreads; + if (params.broadcast) + params.nrequeue = params.nthreads; + printf("Run summary [PID %d]: Requeuing %d threads (from [%s] %p to %p), " "%d at a time.\n\n", getpid(), params.nthreads, params.fshared ? "shared":"private", &futex1, &futex2, params.nrequeue); diff --git a/tools/perf/bench/futex.h b/tools/perf/bench/futex.h index 1c8fa469993f..36f158650edf 100644 --- a/tools/perf/bench/futex.h +++ b/tools/perf/bench/futex.h @@ -21,6 +21,7 @@ struct bench_futex_parameters { bool fshared; bool mlockall; bool multi; /* lock-pi */ + bool broadcast; /* requeue */ unsigned int runtime; /* seconds*/ unsigned int nthreads; unsigned int nfutexes; -- 2.26.2