Received: by 2002:ad5:4acb:0:0:0:0:0 with SMTP id n11csp5635790imw; Wed, 20 Jul 2022 09:22:33 -0700 (PDT) X-Google-Smtp-Source: AGRyM1vNTEYt927ZgBz1CthwO/LmbA/YexaDh9b+vl1TRk/AeMi63SuecN6d6uQXRWs/CueWW1O6 X-Received: by 2002:a5d:8988:0:b0:67c:625:ee3 with SMTP id m8-20020a5d8988000000b0067c06250ee3mr8119129iol.150.1658334152824; Wed, 20 Jul 2022 09:22:32 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1658334152; cv=none; d=google.com; s=arc-20160816; b=bRpSLv8uM+5wuRfz8jU7e3T9L++n1kVnP/pMnJ4VYguD/P64m9kMrNJTx2Gy/BGXG+ txNrxUSjjnjRLFmSmMqAGCOcfMhWMqCpbjATn+gJnTVs1fei/d9hrWd2Ar33bftKWog4 jdAy/v7asXK1yfDfolKvr7i7MzBXXuPE+PMGxd0bpc+SeBqnmF5GDtv9r3Ii4PRe6k+V 49NuZmKxQ2cuVbjyzgwdufUyPvY/Ze6oLYqVoytD20uneoKvmBgR+VULytqFHe5kcmDk y7nUkswzP83q4ORl2J0gllERt8sXTSyBSyJamH/jDvDgAVJVRzLZSERkhjY3+4QqhEsT 39ZA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=mWnAaZCfU7C7OmxHqnYWgl+iLsNs720nTVq22EtgHY0=; b=k/uhQJixGMp8pZMXBGL2Rsz8bLiyDHtBhY4PSbffwgUg+YHeiK757K3wHpAtlHVWC3 JiORO28FwiogNy0OoxDDEb5s9hDBr+8tEOfdp9/6oRRO9IGFhR35t0FzHgiZ99gjyw93 48uljtVJnTi/Na3YlXN6WGqBS1Htxopehc7ulhysXywjaN0Jhu50Am/fkAZ2wvxfl+M1 PrMHnhAS9wL/dSHudJu/o6UwP5NfLshrJyajeEdqV4bZY0xn5qH74EFG2vr4CffGS92n 8yQQrEHLq+HLJ5GWWcoHaraPEHRkK8f1p+ILmHg0OYPVv63lMm9fIPNrvjr+r7luxqmp nd5A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b=sIAZtEgu; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id i1-20020a056602134100b00674fbd92d7asi22048134iov.100.2022.07.20.09.22.17; Wed, 20 Jul 2022 09:22:32 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b=sIAZtEgu; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232735AbiGTPrY (ORCPT + 99 others); Wed, 20 Jul 2022 11:47:24 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55458 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231917AbiGTPrX (ORCPT ); Wed, 20 Jul 2022 11:47:23 -0400 Received: from mail-wm1-x32a.google.com (mail-wm1-x32a.google.com [IPv6:2a00:1450:4864:20::32a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1D98B41D30 for ; Wed, 20 Jul 2022 08:47:22 -0700 (PDT) Received: by mail-wm1-x32a.google.com with SMTP id x23-20020a05600c179700b003a30e3e7989so1553420wmo.0 for ; Wed, 20 Jul 2022 08:47:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=mWnAaZCfU7C7OmxHqnYWgl+iLsNs720nTVq22EtgHY0=; b=sIAZtEguKhFTVPEcL45Kz2Y7TjZTXwniuvUqVOFt6zTUcFdJADS0J8AqBdnyMplZjY exEHIpC5cGIigKdZRLIrpUGSld8LfBC+X94IatTDzW+dLDf1k6TIHWW6ATZVIngS1Oos nXNorTzk3OQ+4Bw6EpGvQnLBrkMxd5it3oR2PPezjhMG5Q19ijxeGtIEqA74Qr5sjlGW N88s/rNDien3FWAJVSLrlCkT2frzA2AlziXYuogGSjxppzEPV90/SDc6MNYJGwkKv/to DVOUTZLRibFdeN8jUFaxX1PaFm9GcCgplfvOEKFNijKoimUdpo/tP/OlK08U7ey7KuN7 RXiQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=mWnAaZCfU7C7OmxHqnYWgl+iLsNs720nTVq22EtgHY0=; b=yVu2HQqnVKcRzce6NW+NPs/fVGo+40EpxfevrHd4yKgQUemODx1kKQV/y9qroMBRRC CJSVcYOmuDohwit6Ua+RNpP++V54qkSOLRcGetoK4+jbT3BWFw9sSoYHHvicJ6tJkd1D PYw6bMjFVnN0noQcFUnTNQuXh5QVpZihsxrW4HAHD9gUgwyMKVWPP47FasM/yQ5Rkl5A VqY6XuJZzCe/Eb6yYMG1HUk+aABUhSqZLoY2ABZEj/Wa6Xl0mKf65qoEMhwW6yCnJUPR 21CF2FbrM7+qxXbNErmS0UlXbjzjXLIM5wPSxfufsJlTJu6jmAtDXXEYuizU7EfhraD8 +Blg== X-Gm-Message-State: AJIora/gciU/Iq2DTRE4puXA+qadnrkGOpDk8oRpBFFEjsadYKkXf8Fx jsg+Xryj600Ht3IrM0sfb3slaptBeg6Usfb0pnAOEA== X-Received: by 2002:a7b:ce13:0:b0:3a3:102c:23d3 with SMTP id m19-20020a7bce13000000b003a3102c23d3mr4391193wmc.67.1658332040566; Wed, 20 Jul 2022 08:47:20 -0700 (PDT) MIME-Version: 1.0 References: <20220704150514.48816-1-elver@google.com> In-Reply-To: From: Ian Rogers Date: Wed, 20 Jul 2022 08:47:08 -0700 Message-ID: Subject: Re: [PATCH v3 00/14] perf/hw_breakpoint: Optimize for thousands of tasks To: Marco Elver Cc: Peter Zijlstra , Frederic Weisbecker , Ingo Molnar , Thomas Gleixner , Arnaldo Carvalho de Melo , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Dmitry Vyukov , Michael Ellerman , linuxppc-dev@lists.ozlabs.org, linux-perf-users@vger.kernel.org, x86@kernel.org, linux-sh@vger.kernel.org, kasan-dev@googlegroups.com, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-17.6 required=5.0 tests=BAYES_00,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF, ENV_AND_HDR_SPF_MATCH,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS, USER_IN_DEF_DKIM_WL,USER_IN_DEF_SPF_WL autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Jul 12, 2022 at 6:41 AM Marco Elver wrote: > > On Mon, 4 Jul 2022 at 17:05, Marco Elver wrote: > > > > The hw_breakpoint subsystem's code has seen little change in over 10 > > years. In that time, systems with >100s of CPUs have become common, > > along with improvements to the perf subsystem: using breakpoints on > > thousands of concurrent tasks should be a supported usecase. > [...] > > Marco Elver (14): > > perf/hw_breakpoint: Add KUnit test for constraints accounting > > perf/hw_breakpoint: Provide hw_breakpoint_is_used() and use in test > > perf/hw_breakpoint: Clean up headers > > perf/hw_breakpoint: Optimize list of per-task breakpoints > > perf/hw_breakpoint: Mark data __ro_after_init > > perf/hw_breakpoint: Optimize constant number of breakpoint slots > > perf/hw_breakpoint: Make hw_breakpoint_weight() inlinable > > perf/hw_breakpoint: Remove useless code related to flexible > > breakpoints > > powerpc/hw_breakpoint: Avoid relying on caller synchronization > > locking/percpu-rwsem: Add percpu_is_write_locked() and > > percpu_is_read_locked() > > perf/hw_breakpoint: Reduce contention with large number of tasks > > perf/hw_breakpoint: Introduce bp_slots_histogram > > perf/hw_breakpoint: Optimize max_bp_pinned_slots() for CPU-independent > > task targets > > perf/hw_breakpoint: Optimize toggle_bp_slot() for CPU-independent task > > targets > [...] > > This is ready from our side, and given the silence, assume it's ready > to pick up and/or have a maintainer take a look. Since this is mostly > kernel/events, would -tip/perf/core be appropriate? These are awesome improvements, I've added my acked-by to every change. I hope we can pull these changes, as you say, into tip.git perf/core and get them into 5.20. Thanks, Ian > Thanks, > -- Marco