From patchwork Wed Jun 2 10:30:00 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Leo Yan X-Patchwork-Id: 12293691 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=-17.1 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_GIT autolearn=ham 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 A1190C47083 for ; Wed, 2 Jun 2021 10:32:35 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 6630961001 for ; Wed, 2 Jun 2021 10:32:35 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 6630961001 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linaro.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=IgpzJmYeLuWVe3AegScmkGgicDNNqTVdrQUXNmUG/xk=; b=A3GhjcDWHusyV6 yUuOqeUr6lNwBZXjHtWb6Y+Rj2agbG/JDLe+FzFDyqxZmdQjzOh9ehYgYxTE0YKvQgD74iKOh9QAM OXKsIIVwaNoegdvj0m3C9CgMvTEVlCdjmaQ6j25j+9EKr4BGQSWVznLypL/pBHZxwp9b3BarsyCtY NMqW7M4vux9524+dMyGoJvEiyF6ulALWtyqZhxVLOJ/VVjmcnlOWivgWz6U1IfkXmt4mVBpe6InAz x2Q3oMtidJvALoLd1OakXUzQDABZ7vhB1JyVaF7pZ8EOWvw8P38+vrdg72el+b3zfHQGH/bD/0DGI gI0narhPs2XSQdDOvtyA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1loO91-003L4z-2Q; Wed, 02 Jun 2021 10:30:39 +0000 Received: from mail-pj1-x102d.google.com ([2607:f8b0:4864:20::102d]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1loO8i-003Kvo-F2 for linux-arm-kernel@lists.infradead.org; Wed, 02 Jun 2021 10:30:26 +0000 Received: by mail-pj1-x102d.google.com with SMTP id l23-20020a17090a0717b029016ae774f973so854331pjl.1 for ; Wed, 02 Jun 2021 03:30:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=E6SPovOHBtUbXkJg7El86KoYgfeSSGvNOlrRgDOrmu4=; b=uIYsbANVkfRPocwkidwIxFsUj4EELWKStycxreDCqHyqcYzc/3Z/om6cNf2/yKEgIh K2NUGZyriiSZlXC5UjCpsTpkMoH3lxhSA7dE6vybOMJhLGwKTmNGh4WJOX7oUBdX6Iss wkMxNAUQrNkzWre9PDi4XWqKX/aNc1MAKwh9YSBCdIKkVSTky9doZWo3946iLDSows2A t65O+KTLicVJsh/jS676OAyHzsDB3CBKg1v0Wls3gzqnGClhBfrvDauo7Qve2N6b0+kF JZZpg/B/dRWFyII48ydPFLjPK59g3+S8dpyO07o3rOYo8xR6MyGVnMsQTt4tPQcuoyhs 19PQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=E6SPovOHBtUbXkJg7El86KoYgfeSSGvNOlrRgDOrmu4=; b=GzKmWCjQ7EaNpBbOB/9WTV7S6xtEI5h4wlM+UYnOJiop2sCZvuxDsNluBOnkKK6ceP hfvDATKowEcRUDyHlTmir02v9ZwYDVCINlDhvBV1nLiUH0GZwvFG8iS2JZl2mldcJMZl 2VFHiqc4wSU/zr/69q1jGuRbGd00GIdNvsO6npvAXwpy8RuI+uj22Ueg0lJk2iifEUpc 7lxuYBbO1wPyDkeOpNkLEdiXudVuOrDSqbuHgCibJeowdLy0B5duuwfFrdsoH4S54fmk 2kROcScKAsdrhq6WAztwhisBJ/+x41Y6wboccxYKo2Jg1NhBwV0T2VPYWo9zNYhhZKYd ZPAg== X-Gm-Message-State: AOAM530JGi3ebRRwdevJKZMCw6q8SfChsM02sAfLuwtCJzW5WElLnUPU LxaOeey+vX5EunVYJklcua6qyA== X-Google-Smtp-Source: ABdhPJypMAbuBZG8MpOxNAfRGmm0a0kTxcE/hJEHUnjt0C6+DenxeNnqX5nLl8TpcnU94jpwrTSMfQ== X-Received: by 2002:a17:902:b713:b029:ef:b031:2a9c with SMTP id d19-20020a170902b713b02900efb0312a9cmr30196100pls.22.1622629819320; Wed, 02 Jun 2021 03:30:19 -0700 (PDT) Received: from localhost (ec2-18-167-84-74.ap-east-1.compute.amazonaws.com. [18.167.84.74]) by smtp.gmail.com with ESMTPSA id o24sm16696451pgl.55.2021.06.02.03.30.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 02 Jun 2021 03:30:18 -0700 (PDT) From: Leo Yan To: Arnaldo Carvalho de Melo , Peter Zijlstra , Ingo Molnar , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Thomas Gleixner , x86@kernel.org, "H. Peter Anvin" , Mathieu Poirier , Suzuki K Poulose , Mike Leach , Adrian Hunter , Andi Kleen , linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org, coresight@lists.linaro.org, linux-arm-kernel@lists.infradead.org Cc: Leo Yan Subject: [PATCH v2 1/8] perf/ring_buffer: Add comment for barriers on AUX ring buffer Date: Wed, 2 Jun 2021 18:30:00 +0800 Message-Id: <20210602103007.184993-2-leo.yan@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210602103007.184993-1-leo.yan@linaro.org> References: <20210602103007.184993-1-leo.yan@linaro.org> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210602_033020_518736_423BEC80 X-CRM114-Status: GOOD ( 15.78 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org AUX ring buffer applies almost the same barriers as perf ring buffer, but there has an exception for ordering between writing the AUX trace data and updating user_page::aux_head. This patch adds comment for how to use the barriers on AUX ring buffer, and gives comment to ask the drivers to flush the trace data into AUX ring buffer prior to updating user_page::aux_head. Signed-off-by: Leo Yan Acked-by: Peter Zijlstra (Intel) --- kernel/events/ring_buffer.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/kernel/events/ring_buffer.c b/kernel/events/ring_buffer.c index 52868716ec35..5cf6579be05e 100644 --- a/kernel/events/ring_buffer.c +++ b/kernel/events/ring_buffer.c @@ -509,6 +509,15 @@ void perf_aux_output_end(struct perf_output_handle *handle, unsigned long size) perf_event_aux_event(handle->event, aux_head, size, handle->aux_flags); + /* + * See perf_output_put_handle(), AUX ring buffer applies the same + * barrier pairing as the perf ring buffer; except for B, since + * AUX ring buffer is written by hardware trace, we cannot simply + * use the generic memory barrier (like smp_wmb()) prior to update + * user_page::aux_head, the hardware trace driver takes the + * responsibility to ensure the trace data has been flushed into + * the AUX buffer before calling perf_aux_output_end(). + */ WRITE_ONCE(rb->user_page->aux_head, rb->aux_head); if (rb_need_aux_wakeup(rb)) wakeup = true; From patchwork Wed Jun 2 10:30:01 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Leo Yan X-Patchwork-Id: 12293693 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=-17.1 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_GIT autolearn=ham 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 6AB61C4708F for ; Wed, 2 Jun 2021 10:33:02 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 38ABF61090 for ; Wed, 2 Jun 2021 10:33:02 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 38ABF61090 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linaro.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=LBGHnhE+zRJI1qPjd2jcqywIU2jUE5MQeyFi9Wr7E+c=; b=V1sebeZ8LI866J 6IEw58ACx6RvEv4oy81xuR/KpagowlnICLIG13/7rKOY+GnEc9D9KWTucW3u+dDspUV9rmlfgyZDi Fm4ELrT9NwLTyhbeEb3kqHvo69Xjv1FSrYGXAP+S4hUEXxUSPmcCWrPrVFs5peTs9iFPtH7VJo1Ls T696NgRej04PKOTMCfxb34AArZ2pFNrgL91PUSMxd2qru3v9VwXLPLwg6WC+I5PhUc8ZpLz4b1o1w vskSpLIYyM2X/snV/Yrbr7OHsA+BAShwy3ILhswUb6bOMMa5EEFWrxjsVv4eDep1CtAEqTyLEUhmp ojP6apAg3eonhkGP9DYg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1loO9K-003LDH-5O; Wed, 02 Jun 2021 10:30:58 +0000 Received: from mail-pf1-x432.google.com ([2607:f8b0:4864:20::432]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1loO8m-003Kxg-NB for linux-arm-kernel@lists.infradead.org; Wed, 02 Jun 2021 10:30:29 +0000 Received: by mail-pf1-x432.google.com with SMTP id d16so1797064pfn.12 for ; Wed, 02 Jun 2021 03:30:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=tvAJvuDnRJDe9YMY5R2L+q2C0nSKQeIr4jFz4M7hp0E=; b=POWzSZ5TRT+9dr74+V15dGxhepckGw99Xtw70LETQ2z3VMGYTXTOwtdm6cl33wbAff LEsF+BxxrTAxWeVcYdCHSgWl+4xjHatzqqb84TDjSjM4cps1Xi43q0gRKuKehIGj6QQJ SMVld7CJ3kXmvcclqESa7CHe5OF5x/O7GIgLU8gTKMtOQmTEf73RqTyPY91NLA5ARmu5 SF9IjG4Qhswx34IcxQZO+wWSocV3XUptIOGGHQl2UZyQvH901whvw+yf+Aawpxuak0+n UN8gron1YQzhcgYefKP7eI2zgGQoqzJCrDn84BJ71sbk1565GIGlKdAfNJOku6vlyGgQ 7bWg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=tvAJvuDnRJDe9YMY5R2L+q2C0nSKQeIr4jFz4M7hp0E=; b=Z2Bl+crs2a4CUo6xinO4CFp1NFmCkTYjzVBQSnfLIYoir/qWEwVBsfirdW8JryCeND HsO38urvxmIFEfVhlhGwufLY1GgSrPOBtnKVf38RHDc8JyS4G/We678WKq40ZcuccoaX mbO66nbOqbYKSDoZNR3jpBR37a5BovYgdsin9T0mEVsT7d9fhWmMJKI2YwltytSmT5/O TsHXVVi/WKR1XdOX+648NkkQboE2m6mL45QXLm2swifypHEZ80xFGT+mBjxCVFbIKMie 7UUB3fyrb7+QKY3XpllZlEAzeOvdCnkpms6dCC1y1Pzs+GJ/1ICf/Zoq8UboGLdH3KEY Q6GQ== X-Gm-Message-State: AOAM533ilQ+qI+PCAMWafq6G3PHFGaUFwwUxlPePCAfZ51o+sbphjMXJ TgErYSXf+9AI5Ko5XI1dRmbPiQ== X-Google-Smtp-Source: ABdhPJy5pG1LjUfP91QAtl2t0ow2iEBMIl7BJdK1RWAS4sEnHwBJ5KdESYaC3yr/wQPQz544PM/Bvg== X-Received: by 2002:a63:5a19:: with SMTP id o25mr32747476pgb.122.1622629822770; Wed, 02 Jun 2021 03:30:22 -0700 (PDT) Received: from localhost (ec2-18-167-84-74.ap-east-1.compute.amazonaws.com. [18.167.84.74]) by smtp.gmail.com with ESMTPSA id g141sm15568758pfb.210.2021.06.02.03.30.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 02 Jun 2021 03:30:22 -0700 (PDT) From: Leo Yan To: Arnaldo Carvalho de Melo , Peter Zijlstra , Ingo Molnar , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Thomas Gleixner , x86@kernel.org, "H. Peter Anvin" , Mathieu Poirier , Suzuki K Poulose , Mike Leach , Adrian Hunter , Andi Kleen , linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org, coresight@lists.linaro.org, linux-arm-kernel@lists.infradead.org Cc: Leo Yan Subject: [PATCH v2 2/8] coresight: tmc-etr: Add barrier after updating AUX ring buffer Date: Wed, 2 Jun 2021 18:30:01 +0800 Message-Id: <20210602103007.184993-3-leo.yan@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210602103007.184993-1-leo.yan@linaro.org> References: <20210602103007.184993-1-leo.yan@linaro.org> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210602_033024_772595_72261F44 X-CRM114-Status: GOOD ( 13.70 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Since a memory barrier is required between AUX trace data store and aux_head store, and the AUX trace data is filled with memcpy(), it's sufficient to use smp_wmb() so can ensure the trace data is visible prior to updating aux_head. Signed-off-by: Leo Yan --- drivers/hwtracing/coresight/coresight-tmc-etr.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/hwtracing/coresight/coresight-tmc-etr.c b/drivers/hwtracing/coresight/coresight-tmc-etr.c index acdb59e0e661..713205db15a1 100644 --- a/drivers/hwtracing/coresight/coresight-tmc-etr.c +++ b/drivers/hwtracing/coresight/coresight-tmc-etr.c @@ -1563,6 +1563,14 @@ tmc_update_etr_buffer(struct coresight_device *csdev, */ if (etr_perf->snapshot) handle->head += size; + + /* + * It requires the ordering between the AUX trace data and aux_head + * store, below smp_wmb() ensures the AUX trace data is visible prior + * to updating aux_head. + */ + smp_wmb(); + out: /* * Don't set the TRUNCATED flag in snapshot mode because 1) the From patchwork Wed Jun 2 10:30:02 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Leo Yan X-Patchwork-Id: 12293695 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=-17.1 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_GIT autolearn=ham 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 E0BDDC4708F for ; Wed, 2 Jun 2021 10:33:15 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id B113B61001 for ; Wed, 2 Jun 2021 10:33:15 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org B113B61001 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linaro.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=VTIDxAXKVOF15iKPwM7JwRWuhlgvoW+b79dVI1gb3p8=; b=eT1GxD5WlIP0Ij iwdslElVWLFwrOjrjzzJaU3CKeS+uk/g6/KxeH4hwar7DWSod+XXxYfvXLhTUep6k732FpbVqJ0CN 8bB1OivLchE3m1QzuQ0JOh3H6ah2O28f0VWFNecen24qRRq6UviX9OSSFg30qX6gHmr1WGTj04bsm TmFjV2B4GO+uoiu1Z28VVKwfA1ngzVt5YItGpUUM3/juUks84bdYS9k1o4sqLwVHfLONSRe5uMkRQ 6oV1BhB+QHZR+C6Lb5nMH/9wINBwQGDRYN8JGZJeI+JIoWvPZQ7+tzY5jPzTLmqtTxiXauzE+Rc7v I0ic5YFeWA8mMRw9Mmfw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1loO9a-003LLV-4D; Wed, 02 Jun 2021 10:31:14 +0000 Received: from mail-pg1-x532.google.com ([2607:f8b0:4864:20::532]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1loO8o-003KzM-TW for linux-arm-kernel@lists.infradead.org; Wed, 02 Jun 2021 10:30:29 +0000 Received: by mail-pg1-x532.google.com with SMTP id l1so1886838pgm.1 for ; Wed, 02 Jun 2021 03:30:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=MxgwZHP/NxGkiYvHiVeQZZDAd7piMTreovHUTu3tJE4=; b=jHRKX5cUkNuQqA6FcVDelOyL6rHw3QdZHN9QJqi0thrX/s2qZM6IGuYS7Rky09KG9R VysMh5AauTe0QUSWhu57mujRxBqQhFwPOPxuOGNTRUHYw+tM923NayUvs0WwJCYHAmeE 33CPzv15Gz9UninMPEYLTgUnVU5aU2ovg6d1qH8teYiA9Byx8VZ5VuF1k4BaTHj9dnON JaFgb6ugdkBDuOmK1GCKfnElu1QeFzgJuaV/WHZpfuWD9i6Jh6QMuSDmyMW2glUF9KuH HKuOeo6t7CO1A5YwvZeYygPIec0p6GWo105Oq5oi27FJK8FZRWDNZYBkoz+BJtrr5dGm +dqw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=MxgwZHP/NxGkiYvHiVeQZZDAd7piMTreovHUTu3tJE4=; b=hyVn5jAfumkg/iPjX01QehqMJKFH+2/zNJTIhYEWeuggtNrbupFYGMX00+9wxB/U7j lcikM6hFdEBHUhnAmaJ9bnD9fTDwM2ecZuvA2NWTbDwu/4yecTFZ80Zb92TlXJBgOCWz E5vrN0O3gU/XnICEWDbWA5FarkZ52C9yZPjKc6TXxgLnsOhe36qLLaW/ei/gjcPGZUXh SGiEVwi87xw1RZj6td3bCGEmud4T7QMEuLbytSZMR/Se1xQ0o0owKM++mHi50EEtEhWn 2TnVHpaAaF6z/SCe3KSLWAfxKuCnpmuF/O72lxeIPNVS6bwws97eav7Oo5Zv5gzHdpeL ptaQ== X-Gm-Message-State: AOAM531+n1kRYVXYq6QRdyRQk+3w4LXWdxcA0t5pr8W/VsdiXgHApJAB jI5Bk91eC9a6bCD7wx7QXdj/tw== X-Google-Smtp-Source: ABdhPJzyW6EPkT5gkkT06ZlfTQHfLmc+dwW6YIn3U8DB25Ciy7gNcrlSKpY5YK/BNT72rLsFD/In1Q== X-Received: by 2002:a62:ea03:0:b029:2e7:8445:243c with SMTP id t3-20020a62ea030000b02902e78445243cmr26382005pfh.54.1622629825762; Wed, 02 Jun 2021 03:30:25 -0700 (PDT) Received: from localhost (ec2-18-167-84-74.ap-east-1.compute.amazonaws.com. [18.167.84.74]) by smtp.gmail.com with ESMTPSA id t13sm8756126pfh.97.2021.06.02.03.30.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 02 Jun 2021 03:30:25 -0700 (PDT) From: Leo Yan To: Arnaldo Carvalho de Melo , Peter Zijlstra , Ingo Molnar , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Thomas Gleixner , x86@kernel.org, "H. Peter Anvin" , Mathieu Poirier , Suzuki K Poulose , Mike Leach , Adrian Hunter , Andi Kleen , linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org, coresight@lists.linaro.org, linux-arm-kernel@lists.infradead.org Cc: Leo Yan Subject: [PATCH v2 3/8] coresight: tmc-etf: Add comment for store ordering Date: Wed, 2 Jun 2021 18:30:02 +0800 Message-Id: <20210602103007.184993-4-leo.yan@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210602103007.184993-1-leo.yan@linaro.org> References: <20210602103007.184993-1-leo.yan@linaro.org> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210602_033026_987906_123D3B65 X-CRM114-Status: GOOD ( 14.41 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org AUX ring buffer is required to separate the data store and aux_head store, since the function CS_LOCK() has contained memory barrier mb(), mb() is a more conservative barrier than smp_wmb() on Arm32/Arm64, thus it's needless to add any explicit barrier anymore. Add comment to make clear for the barrier usage for ETF. Signed-off-by: Leo Yan --- drivers/hwtracing/coresight/coresight-tmc-etf.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/hwtracing/coresight/coresight-tmc-etf.c b/drivers/hwtracing/coresight/coresight-tmc-etf.c index 45b85edfc690..9a42ee689921 100644 --- a/drivers/hwtracing/coresight/coresight-tmc-etf.c +++ b/drivers/hwtracing/coresight/coresight-tmc-etf.c @@ -553,6 +553,12 @@ static unsigned long tmc_update_etf_buffer(struct coresight_device *csdev, if (buf->snapshot) handle->head += to_read; + /* + * AUX ring buffer requires to use memory barrier to separate the trace + * data store and aux_head store, because CS_LOCK() contains mb() which + * gives more heavy barrier than smp_wmb(), it's not necessary to + * explicitly invoke any barrier. + */ CS_LOCK(drvdata->base); out: spin_unlock_irqrestore(&drvdata->spinlock, flags); From patchwork Wed Jun 2 10:30:03 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Leo Yan X-Patchwork-Id: 12293697 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=-17.1 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_GIT autolearn=ham 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 CB3ADC47083 for ; Wed, 2 Jun 2021 10:33:27 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 9047661001 for ; Wed, 2 Jun 2021 10:33:27 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 9047661001 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linaro.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=fDxD3wdzpM0hp2cxqHu4CtfvR2D32UTPe7gtfPEVSYE=; b=kqQLXLRLM1IHBH 0sRaH1+m7U9OaixWG4Wb3j48gmelDTn8gsKeLPsqGVQ0B836NuxfgboghgCf/G3hctCdA8/upbz8K lOXoGGlFbDDuLSnQHD5eI450b5qQGEsWcdEfurIuKVuXVeFeAUXdG0dOKLOaVBdXQPXCGgOdkU9A8 Q86ht1rWUsErxrTVmm0kMy6DiLahpzGx+HUQKm8e2CUcFZsPklgYfFSkDEiaJroY19sgLOuuteol6 QA/RMd+zGmQfprJwuUv4NUjxc9RAZv2wa79rx8yXUUFcW9NE3PBtrK0qqrQ6jeovTjOX2YBnkKPSc m0ofLTPmv+ZRACCWWyGw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1loO9w-003LU4-0Q; Wed, 02 Jun 2021 10:31:36 +0000 Received: from mail-pg1-x535.google.com ([2607:f8b0:4864:20::535]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1loO8r-003L0z-3J for linux-arm-kernel@lists.infradead.org; Wed, 02 Jun 2021 10:30:30 +0000 Received: by mail-pg1-x535.google.com with SMTP id 6so1867357pgk.5 for ; Wed, 02 Jun 2021 03:30:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=Q5Wf8ghZ23c6vSvSmNVjb2NVOeSumBPmpt+tM4X+4G0=; b=vtKgbR14cR7y62vFxXZgh6OuBU1qzmZhTJ2Wh0fFfsK74YBw9tRK3mWWU9u22JQPdk gFmXg/EUtcHHVskldrPBIeKf/U8iU1jNTaFQF4J0rz0MxbYPr42ClzwSInc8+A13AGmQ l5nIgiDgpl5w1iGPge+sti8zpRxzlakhwNWB16gH1UvMHwn99Bq3btm8IVTPAOdjcWgo fwIZ7l/mVqNg2uJhKiz92FsNiYFP9PS/yGX6jsmcqgEPRKdv3LlpmS0oLUKpvzzgnD8g JklAAJtSqviT30Rzlt+iqkHuPB4RQ2VVdwXS7TMNHkEaP76AMl0EXoNvd2d5E1ot8w+Z qunQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=Q5Wf8ghZ23c6vSvSmNVjb2NVOeSumBPmpt+tM4X+4G0=; b=asfguBzo/WhRVOV8IdfozVsvHIUaQ6WPZJN9Zbez+TVIjsb5XJ5d8/q7AZ+/wJUWgg ceAxmNeFI+qrAfFgLsLarR4YNiRc7AJq/N4PoL/KJGMzia/mykmFljel62zquHRpWssl eTbhXBTvCGlJQ6ebITwYKXRZptm4m3SiEfCidSSSKcnCNuHHGnjlHpRTE0KWd/OFLhYQ 6DUgaKpViQRIRBPJdjzc/Z0vorWFpdKGejfLu2lmh/hNbPHL+uQjuKSNGsIgP+dUz27F fX0wvFs48fgNFRgMOGiiHBqBqEojK/vpof3vvAybtUqwTKITsMVEkuO0unRK6rVP+RLn vQkw== X-Gm-Message-State: AOAM531iuoAnHl05gu/7xS5srQcRw8GlBeTlehw4lMvRuJaiT/9fEbY/ LKgqof3H2wNgC8ClwrMq2EPZ7A== X-Google-Smtp-Source: ABdhPJyW5O+lp5JviQc20HzDNUJCnF1tag3CzpppyeQ7jlEx5vWwxASM3CiSXM5Fvsi9co5grxHOOA== X-Received: by 2002:a63:a602:: with SMTP id t2mr32573804pge.320.1622629828662; Wed, 02 Jun 2021 03:30:28 -0700 (PDT) Received: from localhost (ec2-18-167-84-74.ap-east-1.compute.amazonaws.com. [18.167.84.74]) by smtp.gmail.com with ESMTPSA id u21sm15385901pfh.163.2021.06.02.03.30.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 02 Jun 2021 03:30:28 -0700 (PDT) From: Leo Yan To: Arnaldo Carvalho de Melo , Peter Zijlstra , Ingo Molnar , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Thomas Gleixner , x86@kernel.org, "H. Peter Anvin" , Mathieu Poirier , Suzuki K Poulose , Mike Leach , Adrian Hunter , Andi Kleen , linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org, coresight@lists.linaro.org, linux-arm-kernel@lists.infradead.org Cc: Leo Yan Subject: [PATCH v2 4/8] perf/x86: Add barrier after updating bts Date: Wed, 2 Jun 2021 18:30:03 +0800 Message-Id: <20210602103007.184993-5-leo.yan@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210602103007.184993-1-leo.yan@linaro.org> References: <20210602103007.184993-1-leo.yan@linaro.org> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210602_033029_192900_2470AB61 X-CRM114-Status: GOOD ( 12.85 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Add barrier wmb() to separate the AUX data store and aux_head store. Signed-off-by: Leo Yan --- arch/x86/events/intel/bts.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/arch/x86/events/intel/bts.c b/arch/x86/events/intel/bts.c index 6320d2cfd9d3..4a015d160bc5 100644 --- a/arch/x86/events/intel/bts.c +++ b/arch/x86/events/intel/bts.c @@ -209,6 +209,9 @@ static void bts_update(struct bts_ctx *bts) } else { local_set(&buf->data_size, head); } + + /* The WMB separates data store and aux_head store matches. */ + wmb(); } static int From patchwork Wed Jun 2 10:30:04 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Leo Yan X-Patchwork-Id: 12293699 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=-17.1 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_GIT autolearn=ham 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 8B109C47083 for ; Wed, 2 Jun 2021 10:33:58 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 53BCD61001 for ; Wed, 2 Jun 2021 10:33:58 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 53BCD61001 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linaro.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=1DyPtByzlBhIy7KAlWkM6lLMufn1z4TqF+pb++aHPsI=; b=RM0OaEaFsWZ8Pg nAuRCOujawPQsnTeYwU5XQQN9nDCLbgpYeIeLlmPuRj4pTVn9BzPKRXu6tESi3xXmFXGYcskFacWi JjNdVmRZ4HyZwS2jI6cbR726Ff7UUX6CDmCJhCFPhGz6xbVKy4ys8fiDgyLNXM1kbzToPZ9x1Uhb1 dv9preC/OlUa7NxJuxy7lgptVM9Wi9quV55MUiX4f++sHh1itB88H3NuvTOqZKVncQ/xDQk9Ic6QG blnjqC3BZJiTIjQWoqPyPHbFRFMmR2qdTFZCLOfQ76gPWVK3oX3+11o5csbR9FV6ZK5/8IcZHAtO5 xqIfjt/qfuKN+D4Ft27A==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1loOAF-003LeI-Up; Wed, 02 Jun 2021 10:31:56 +0000 Received: from mail-pg1-x533.google.com ([2607:f8b0:4864:20::533]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1loO8u-003L2V-Pc for linux-arm-kernel@lists.infradead.org; Wed, 02 Jun 2021 10:30:38 +0000 Received: by mail-pg1-x533.google.com with SMTP id i5so1911253pgm.0 for ; Wed, 02 Jun 2021 03:30:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=WZdXkeLXyTRCRBlV6ZkvwSxOi71Ng+ItJPqjFI54Mcg=; b=Z3sB+5zdNXr9kef5JA3bJvYP76xDiTOty/eJXFB532T92HsbDk7gItssLcLF5a+Okv DRLOrn43EY1kdU1/LchPW2gzDwUvBULq3wHLgA2d+huNDCSOW5BOnFEfY/+os56y11aX rXEdqD5bI1hPOr7cu5P7uCRP67zfCHm0xxmaIXH3md4KFb9EDuvM6upqbbtw2DWjc/+V ZpdMWlGpHm9FJDb0D7TutJxr8CzO8iwi4Hzq1A+u2+SJMti1ch5We3G2fjdnzNjV1A4+ aa4jPTK5jbAq2gdWcArgQFFCyQFQJvzpSy60LSq47C48o1c5NQSFtQ9qrYHbHxgWwkk7 t0aw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=WZdXkeLXyTRCRBlV6ZkvwSxOi71Ng+ItJPqjFI54Mcg=; b=DcF4iZaU4QTjAsrqEY2H/MwCfdHf2yr1Rqh12mZEJZR+zfd6exKTFgk3yXFl+ymUEZ mkd0B3kIFfZ79MuKmYTqCFERItyowlrHkANvq3Q5osVA5eKvqb1Eq1Na5yWd3KfvhNUo KUocqS4/Izl3wQPgXCH5E4ZOT5U8Y6epxjyX8lVPc112TLpHlG9JITV6GLGHoJHrADFV +mU9rAjKHx3GbMYdZdzVuJMxXdbTe9JqOoPtQBT1U4eV3fov3+upqAkxTjVjGKiIixFo dQ85moVH1ewXPm4oMClCUqwj3siVak77OuFSYIoCRfiUQT8C8sqD6fxIAEXVZ9YvIuaX khGw== X-Gm-Message-State: AOAM533P/dgrKyJ+wGP+tVTxTMRI3qhS0RVIbEU5N8zuU5Ecsh0rAELc NGVnGappCTSB/GO/+y+DewUKrg== X-Google-Smtp-Source: ABdhPJyzXB1PcQNWg3aQfHpUUQxqS7K4lMUmeNIvTRxqevGy++Vn5qNRvTHr+W+TDzT0S9K2D8xe3Q== X-Received: by 2002:a63:471f:: with SMTP id u31mr33399072pga.85.1622629831701; Wed, 02 Jun 2021 03:30:31 -0700 (PDT) Received: from localhost (ec2-18-167-84-74.ap-east-1.compute.amazonaws.com. [18.167.84.74]) by smtp.gmail.com with ESMTPSA id o24sm16697046pgl.55.2021.06.02.03.30.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 02 Jun 2021 03:30:31 -0700 (PDT) From: Leo Yan To: Arnaldo Carvalho de Melo , Peter Zijlstra , Ingo Molnar , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Thomas Gleixner , x86@kernel.org, "H. Peter Anvin" , Mathieu Poirier , Suzuki K Poulose , Mike Leach , Adrian Hunter , Andi Kleen , linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org, coresight@lists.linaro.org, linux-arm-kernel@lists.infradead.org Cc: Leo Yan Subject: [PATCH v2 5/8] perf auxtrace: Change to use SMP memory barriers Date: Wed, 2 Jun 2021 18:30:04 +0800 Message-Id: <20210602103007.184993-6-leo.yan@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210602103007.184993-1-leo.yan@linaro.org> References: <20210602103007.184993-1-leo.yan@linaro.org> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210602_033032_881361_74729B2D X-CRM114-Status: GOOD ( 15.82 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org The kernel and the userspace tool can access the AUX ring buffer head and tail from different CPUs, thus SMP class of barriers are required on SMP system. This patch changes to use SMP barriers to replace mb() and rmb() barriers. Signed-off-by: Leo Yan Acked-by: Adrian Hunter Acked-by: Peter Zijlstra (Intel) --- tools/perf/util/auxtrace.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/perf/util/auxtrace.h b/tools/perf/util/auxtrace.h index a4fbb33b7245..42b7ef811bde 100644 --- a/tools/perf/util/auxtrace.h +++ b/tools/perf/util/auxtrace.h @@ -444,7 +444,7 @@ static inline u64 auxtrace_mmap__read_snapshot_head(struct auxtrace_mmap *mm) u64 head = READ_ONCE(pc->aux_head); /* Ensure all reads are done after we read the head */ - rmb(); + smp_rmb(); return head; } @@ -458,7 +458,7 @@ static inline u64 auxtrace_mmap__read_head(struct auxtrace_mmap *mm) #endif /* Ensure all reads are done after we read the head */ - rmb(); + smp_rmb(); return head; } @@ -470,7 +470,7 @@ static inline void auxtrace_mmap__write_tail(struct auxtrace_mmap *mm, u64 tail) #endif /* Ensure all reads are done before we write the tail out */ - mb(); + smp_mb(); #if BITS_PER_LONG == 64 || !defined(HAVE_SYNC_COMPARE_AND_SWAP_SUPPORT) pc->aux_tail = tail; #else From patchwork Wed Jun 2 10:30:05 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Leo Yan X-Patchwork-Id: 12293701 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=-17.1 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_GIT autolearn=unavailable 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 A1BECC47083 for ; Wed, 2 Jun 2021 10:34:23 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 6412461090 for ; Wed, 2 Jun 2021 10:34:23 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 6412461090 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linaro.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=1/k1NBEyHv7iCMwE5o+y0PyxAy4AyPqv7MRDfqrNqFg=; b=n0eeIwFOPaCwye xXubi5LrmpiSwdrKj2gyTbehevsqAsvsvW+/5/pw+KjAZayItVd/DKtSrJhWGyE374vlFChG9QE2U zQQ8yt5eeKY0tFxH4PeoPCR7MVkEo13M5KDAO4mCUUz8N0fgUVqPAcoYX8Ee3P43i1Xc1cyDz7/ZC mdVUtgK7nWQhqNN6Nwd9I94PEFz4m7A2rwjelsXTvpFtq4Zj61cb8Tq1wnNL0N9KDxsinPv5Z8v92 3ioISCizp50e8sUmJWadejNx3IEG3TyMIxRavJOirgUwyPpeocnAhBsvlMhziekyMycyB1JVR9vws npY+OyOeNwr4TF+w1y6g==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1loOAf-003Lob-3e; Wed, 02 Jun 2021 10:32:21 +0000 Received: from mail-pj1-x102c.google.com ([2607:f8b0:4864:20::102c]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1loO8x-003L3t-Oe for linux-arm-kernel@lists.infradead.org; Wed, 02 Jun 2021 10:30:40 +0000 Received: by mail-pj1-x102c.google.com with SMTP id m13-20020a17090b068db02901656cc93a75so3195646pjz.3 for ; Wed, 02 Jun 2021 03:30:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=CUGVcjWHAFZiSQpFiWcs46u9/hPtHfCUkPW2QO50s/E=; b=qWBMODYkIE7TtEUAD2cnjvNDYoN9T6k+wDhbdTbYweTRWm0/BluYjDGdJ3RtKnWRxA ZoIDaE4fheb8TK7/Z36LlFC/X8bcaNNj9jP1FBjpnknsKIPQXtsDAdCc0wPwyxspEkXe 9kt9HLXb4abGreF5MiG6kU1qeYe2tPZpBKdL4f3GN2TTX41IDdyKu3dQhXkMeyIKQOSj cxlzxyp5JwtElocmliTV6usnPMu4s4vInem5hafNKawKcAtgMIHjzHdUNA24lNNDIU4K big+EhLIxSoP5BjeOw7SkD+8vOOnIBymiw8ZyqSRSnYj2w4TZVz0Wp+HRxRiSKu8t369 WmpA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=CUGVcjWHAFZiSQpFiWcs46u9/hPtHfCUkPW2QO50s/E=; b=qzqIjBwRRb7UVKtjaIW+6EKZwC39WmNF0nqKc/lHnicKQIxpf04ufA+FXdLQCEOBxz 8ryT1NP/PEeQmVNLWN8LHsmT7yOREJKLIsuwx7NxLY7qezbMYfBFu1hdC/boru/AVdsa bymMSBbcSDBawaukSckLxaqvgUoDrL+3l4Ct7Wkcw0YsOD8KXqhF+08g/0JiDl8ebkeA Z6EXWlVCCganj+VO2vbmO3EI8JLfdYdtzLQE5zqzQJn7wzBMUPelED2ww3lTjfDkJ8EW ym2Cb1y/5PpzUm2rAm0or9zKXEmYSeyvngWRw3occTrIumq11GNkBrpNSqVSxLDpKd1p 9NJg== X-Gm-Message-State: AOAM5309Xr6XuFNiKCScawU4KJFhQ1bbR/HvkSqvQMNYhn0S/d5Rd2dd jHapI/A5S1bnCbI97gz38/D6Og== X-Google-Smtp-Source: ABdhPJxmZMOSfAqVmnZSxw6MnC3/8NbTY5FMoti3qh2swJ0OWGwlfyD47F9PecdyLuj4O2+EPLfQNQ== X-Received: by 2002:a17:902:7244:b029:f5:2ffd:37f9 with SMTP id c4-20020a1709027244b02900f52ffd37f9mr30314548pll.26.1622629834563; Wed, 02 Jun 2021 03:30:34 -0700 (PDT) Received: from localhost (ec2-18-167-84-74.ap-east-1.compute.amazonaws.com. [18.167.84.74]) by smtp.gmail.com with ESMTPSA id j16sm2094111pgi.73.2021.06.02.03.30.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 02 Jun 2021 03:30:34 -0700 (PDT) From: Leo Yan To: Arnaldo Carvalho de Melo , Peter Zijlstra , Ingo Molnar , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Thomas Gleixner , x86@kernel.org, "H. Peter Anvin" , Mathieu Poirier , Suzuki K Poulose , Mike Leach , Adrian Hunter , Andi Kleen , linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org, coresight@lists.linaro.org, linux-arm-kernel@lists.infradead.org Cc: Leo Yan Subject: [PATCH v2 6/8] perf auxtrace: Drop legacy __sync functions Date: Wed, 2 Jun 2021 18:30:05 +0800 Message-Id: <20210602103007.184993-7-leo.yan@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210602103007.184993-1-leo.yan@linaro.org> References: <20210602103007.184993-1-leo.yan@linaro.org> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210602_033035_838908_50043D8E X-CRM114-Status: GOOD ( 18.80 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org The main purpose for using __sync built-in functions is to support compat mode for 32-bit perf with 64-bit kernel. But using these built-in functions might cause couple potential issues. Firstly, __sync functions originally support Intel Itanium processoer [1] but it cannot promise to support all 32-bit archs. Now these functions have become the legacy functions. As Peter also pointed out the logic issue in the function auxtrace_mmap__write_tail(), it does a cmpxchg with 0 values to load old_tail, and then executes a further cmpxchg with old_tail to write the new tail. If consider the aux_tail might be assigned to '0' in the middle of loops, this can introduce mess for AUX buffer if the kernel fetches the temporary value '0'. Considering __sync functions cannot really fix the 64-bit value atomicity on 32-bit archs, thus this patch drops __sync functions. Credits to Peter for detailed analysis. [1] https://gcc.gnu.org/onlinedocs/gcc/_005f_005fsync-Builtins.html#g_t_005f_005fsync-Builtins Suggested-by: Peter Zijlstra Signed-off-by: Leo Yan --- tools/perf/util/auxtrace.h | 19 ------------------- 1 file changed, 19 deletions(-) diff --git a/tools/perf/util/auxtrace.h b/tools/perf/util/auxtrace.h index 42b7ef811bde..e625bc76cdde 100644 --- a/tools/perf/util/auxtrace.h +++ b/tools/perf/util/auxtrace.h @@ -432,12 +432,6 @@ struct auxtrace_cache; #ifdef HAVE_AUXTRACE_SUPPORT -/* - * In snapshot mode the mmapped page is read-only which makes using - * __sync_val_compare_and_swap() problematic. However, snapshot mode expects - * the buffer is not updated while the snapshot is made (e.g. Intel PT disables - * the event) so there is not a race anyway. - */ static inline u64 auxtrace_mmap__read_snapshot_head(struct auxtrace_mmap *mm) { struct perf_event_mmap_page *pc = mm->userpg; @@ -451,11 +445,7 @@ static inline u64 auxtrace_mmap__read_snapshot_head(struct auxtrace_mmap *mm) static inline u64 auxtrace_mmap__read_head(struct auxtrace_mmap *mm) { struct perf_event_mmap_page *pc = mm->userpg; -#if BITS_PER_LONG == 64 || !defined(HAVE_SYNC_COMPARE_AND_SWAP_SUPPORT) u64 head = READ_ONCE(pc->aux_head); -#else - u64 head = __sync_val_compare_and_swap(&pc->aux_head, 0, 0); -#endif /* Ensure all reads are done after we read the head */ smp_rmb(); @@ -465,19 +455,10 @@ static inline u64 auxtrace_mmap__read_head(struct auxtrace_mmap *mm) static inline void auxtrace_mmap__write_tail(struct auxtrace_mmap *mm, u64 tail) { struct perf_event_mmap_page *pc = mm->userpg; -#if BITS_PER_LONG != 64 && defined(HAVE_SYNC_COMPARE_AND_SWAP_SUPPORT) - u64 old_tail; -#endif /* Ensure all reads are done before we write the tail out */ smp_mb(); -#if BITS_PER_LONG == 64 || !defined(HAVE_SYNC_COMPARE_AND_SWAP_SUPPORT) pc->aux_tail = tail; -#else - do { - old_tail = __sync_val_compare_and_swap(&pc->aux_tail, 0, 0); - } while (!__sync_bool_compare_and_swap(&pc->aux_tail, old_tail, tail)); -#endif } int auxtrace_mmap__mmap(struct auxtrace_mmap *mm, From patchwork Wed Jun 2 10:30:06 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Leo Yan X-Patchwork-Id: 12293703 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=-17.1 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_GIT autolearn=ham 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 C1C7DC47083 for ; Wed, 2 Jun 2021 10:34:51 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 84D3F61001 for ; Wed, 2 Jun 2021 10:34:51 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 84D3F61001 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linaro.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=vcADEd7eoO88VQ4b27adnpPdKdAivNQ3BTCxFflxblU=; b=Lepg+Neu4oySy9 qbaECPrXJrOInGHiqSOJhapSkBwj373cUNgPeSGFCB20viFh0kQlP04ZDdSDPBU1zKkJi9hAosbjO 3WMSgpG/dEhed3JKpJU7tQjsz99AfFx/wHOYQ/n8CSvaCqfena5JtjEDRfwyCqMw2brKTxEE45D6Y 1TuQj/KnZzqEbDV5IqY4arVhwVD3r58dblMR92w3dhWrKS2oSTzr8X0qk/Wuw2W5bKt8cVblShOqj lxMa5dgHN3w5I73mbz5Zm65VYMm8VVxf/ssAJvXgYnGzYmj6HFKEYv42fSj5UyWAqm9DGISjIw2TH pI2CulHN7XOjjZexDDKQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1loOBK-003M6n-E0; Wed, 02 Jun 2021 10:33:02 +0000 Received: from mail-pf1-x429.google.com ([2607:f8b0:4864:20::429]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1loO90-003L50-LQ for linux-arm-kernel@lists.infradead.org; Wed, 02 Jun 2021 10:30:40 +0000 Received: by mail-pf1-x429.google.com with SMTP id k15so1823979pfp.6 for ; Wed, 02 Jun 2021 03:30:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=0SAzHmAT4S261rPuHMSSnq0NUaRVlh+m0eXDWd0+8YM=; b=f5uETbSu0slGWjnOwVuhzwPC2PeWII4nuiVKyGsySkKsiOlhCZVuLFaAmWRtGZ60sB YbIERc223XE3G01FEVHlcbj3rvS7//wS5itbOp97GGEsx0Kyr8ZGCk39CmYYLITMGLpV nCl7zxU+QNBhlW7OdD4Ys4A0pphOOYxKQf7Daxdc2Np8SYp5xnGCPYuv/ZeYfLVqrk5E xfkgOQyGpeaObgBXApw6mLViAj3nsLAy1d1FHBsJRJd9jA63q3/+MUjcJjQLPmtx5JaP Fz2fXM9j5S6jradPxmeQal2Ny+kaG8pUiHNyocTcrPYv9AjaZkNtix4iGYxkWLYyb8X2 pnaA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=0SAzHmAT4S261rPuHMSSnq0NUaRVlh+m0eXDWd0+8YM=; b=PBD6jNSzm4w5X8ALJRJ+pvEQSP6oma15roytqaCBqqpUa+0kYQEFUBKS9KaCixcBuG IHcb3fyHZN6lwOC87eJwCoNE1LzDK1V7dnXofUtGDTeTu6YqKP7z/WtQNpz0JTs2rnIl Hs5i7pIJ0G5vILwn6tIWsQob5q3pPLV9tEOxmOrhVUKioRp00sNP/XYqYD9cZT8UJjOw eExzSLfFghkbiXqbifBZLgXFGP95JEnpw1oM1pkiVBkIT4zENKkVkrJM0c2JY1yeQdlD 1XCo1KSbYKUKJ/IcMw5p1WoLLzgewy1/othyRBkNXBhmtH9cdUcjimr3Gw2fBLt3KSyb 8JaQ== X-Gm-Message-State: AOAM530CM9WCPPmU6+r3pfAZP8Dz7j9lBFlafcvqljllUUjnD48oBJ1A SoQ3fXKgpdDPndzx3S45JkvUbg== X-Google-Smtp-Source: ABdhPJzfEEAZBOb+E52o6ECvVa+XAO+vxjOcpz63OhpG4yHtgnos+M5nlRF7RsaNERHXQVqG6bWx8Q== X-Received: by 2002:a62:7587:0:b029:2e9:a997:1449 with SMTP id q129-20020a6275870000b02902e9a9971449mr20698327pfc.57.1622629837509; Wed, 02 Jun 2021 03:30:37 -0700 (PDT) Received: from localhost (ec2-18-167-84-74.ap-east-1.compute.amazonaws.com. [18.167.84.74]) by smtp.gmail.com with ESMTPSA id r10sm18379761pga.48.2021.06.02.03.30.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 02 Jun 2021 03:30:37 -0700 (PDT) From: Leo Yan To: Arnaldo Carvalho de Melo , Peter Zijlstra , Ingo Molnar , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Thomas Gleixner , x86@kernel.org, "H. Peter Anvin" , Mathieu Poirier , Suzuki K Poulose , Mike Leach , Adrian Hunter , Andi Kleen , linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org, coresight@lists.linaro.org, linux-arm-kernel@lists.infradead.org Cc: Leo Yan Subject: [PATCH v2 7/8] perf auxtrace: Use WRITE_ONCE() for updating aux_tail Date: Wed, 2 Jun 2021 18:30:06 +0800 Message-Id: <20210602103007.184993-8-leo.yan@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210602103007.184993-1-leo.yan@linaro.org> References: <20210602103007.184993-1-leo.yan@linaro.org> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210602_033038_711871_46DEB175 X-CRM114-Status: GOOD ( 14.66 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Use WRITE_ONCE() for updating aux_tail, so can avoid unexpected memory behaviour. Signed-off-by: Leo Yan Acked-by: Adrian Hunter Acked-by: Peter Zijlstra (Intel) --- tools/perf/util/auxtrace.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/perf/util/auxtrace.h b/tools/perf/util/auxtrace.h index e625bc76cdde..abc4282f5272 100644 --- a/tools/perf/util/auxtrace.h +++ b/tools/perf/util/auxtrace.h @@ -458,7 +458,7 @@ static inline void auxtrace_mmap__write_tail(struct auxtrace_mmap *mm, u64 tail) /* Ensure all reads are done before we write the tail out */ smp_mb(); - pc->aux_tail = tail; + WRITE_ONCE(pc->aux_tail, tail); } int auxtrace_mmap__mmap(struct auxtrace_mmap *mm, From patchwork Wed Jun 2 10:30:07 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Leo Yan X-Patchwork-Id: 12293705 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=-17.1 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_GIT autolearn=ham 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 C6493C47083 for ; Wed, 2 Jun 2021 10:36:00 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 8FDBB61090 for ; Wed, 2 Jun 2021 10:36:00 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 8FDBB61090 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linaro.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=chvyx+j7xpBXCnMYM2vzN3BOAkrWJl3OAmG1HhSMBwM=; b=Pc9jRz991Y7msU KH6wGCiqzjUvpGL1wWBxJ/+eJWS1UGHb2HtR78I3gwv2WHt3+j/a2cn1nEZaM8W4N5Hby3SeRHMZM Y3HBaekwFbmhK/SAmU//T0QIHC3ccAg7nWKIhPP5Xh48EP3wMu9AlJuEbtqVDmien0FrDWJYqI9Ur 5UASE+zDfqXhNStfglnAcKj/Bjgc0SsWBebDChDDRlKteDi4shh/3IFx9Fd554dCOfPw/FhEMC5s4 h9/d3+kzYKqUP/pJhk+t3bDY913f2+i4L4nt0nljz7boscdzcXprfsop1GOCYpSWg3yO1qATJ+HGG sH/P7wgs0nWD33VIAZzQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1loOCA-003MVI-2h; Wed, 02 Jun 2021 10:33:54 +0000 Received: from mail-pf1-x42c.google.com ([2607:f8b0:4864:20::42c]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1loO93-003L6X-Kj for linux-arm-kernel@lists.infradead.org; Wed, 02 Jun 2021 10:30:45 +0000 Received: by mail-pf1-x42c.google.com with SMTP id z26so1831941pfj.5 for ; Wed, 02 Jun 2021 03:30:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=9ethqvFDGtJ7pygL6O7+7W1A8KYpMXPVj/v6wIqt0W0=; b=P7Nl3qoG2cR/l1a0GaRz5SGODttE3PK1+fLPoFdWJRNZITEUVt9CGmC2MseKhHKWoA jv9a2pLhsevTHrxkBo9HVQyYJZJIqvaDnxoNKLdzSMS0Xxp0vB7yjbyi7FHcumGwYDqq E8fJtd0VfJWBd+GV+dIrBrNzyW1mFsSM92TWjlLg6Bq6Dyk/lurPws7rPkyXUP1HuaC+ Ba7LceFajeDe2f5sNRrfvQrWh1AVraF37RZweYZa8OUZ/20a37juKY8w1g2iCtg0lVZv kAzAEtC7RYKMuDeB6M7TES+S7xfuxQW35iPn+QFRSa/R5ddK8FXKOzlJ38jxJxUfmcha V0MQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=9ethqvFDGtJ7pygL6O7+7W1A8KYpMXPVj/v6wIqt0W0=; b=Smb2hjBNHFBmXAZqO7BmNNOB2O0Vci053Zr+62pnspdz2oxRz9tKEwMhe7CkPVPFNK QogxxNG836sQQFpyAgZMoS05TKM3Ed2i3Xl4XRfVTL5D4N+JhRKXhr2Yh/WxCF7BghU9 GsIS3l8PJo04SzeIQlE5tE3FsDkJFqaQfqvLGqudA2JSucRD5WbdaxuuP+9PYXDLlDuF kijx1zDrvnj+y7DaLIHF/lzIHbPZt14RP0369Hlqn+5PZrLnB0JTUPlTLo9znY78CfSA cty8ZX7zMly+13IwqkwkZrYV4QyytH+XVGJ76R6m+LfxeLEVAW8ecj1ykkwr443qsmCl OclQ== X-Gm-Message-State: AOAM532JemwLU3caP+RYk84k5hj0n+89JratuZk4QNZXMRn0zRxqVuy/ SfUN9LUst3C1h/q33pWeDhmqUw== X-Google-Smtp-Source: ABdhPJx0EfBw6QaTO9+VL3wMCj4oJnHgh5bVeyIeRmYvkSdry99ww/+lQjMFdUFcUK7C3Asky0mOxg== X-Received: by 2002:a63:8f0b:: with SMTP id n11mr32834096pgd.342.1622629840534; Wed, 02 Jun 2021 03:30:40 -0700 (PDT) Received: from localhost (ec2-18-167-84-74.ap-east-1.compute.amazonaws.com. [18.167.84.74]) by smtp.gmail.com with ESMTPSA id g2sm7950812pfv.106.2021.06.02.03.30.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 02 Jun 2021 03:30:40 -0700 (PDT) From: Leo Yan To: Arnaldo Carvalho de Melo , Peter Zijlstra , Ingo Molnar , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Thomas Gleixner , x86@kernel.org, "H. Peter Anvin" , Mathieu Poirier , Suzuki K Poulose , Mike Leach , Adrian Hunter , Andi Kleen , linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org, coresight@lists.linaro.org, linux-arm-kernel@lists.infradead.org Cc: Leo Yan Subject: [PATCH v2 8/8] perf record: Directly bail out for compat case Date: Wed, 2 Jun 2021 18:30:07 +0800 Message-Id: <20210602103007.184993-9-leo.yan@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210602103007.184993-1-leo.yan@linaro.org> References: <20210602103007.184993-1-leo.yan@linaro.org> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210602_033041_724814_D62F2223 X-CRM114-Status: GOOD ( 15.18 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Since the 64-bit atomicity is not promised in 32-bit perf, directly report the error and bail out for this case. Now only applies on x86_64 and Arm64 platforms. Suggested-by: Adrian Hunter Signed-off-by: Leo Yan --- tools/perf/builtin-record.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/tools/perf/builtin-record.c b/tools/perf/builtin-record.c index 3337b5f93336..f47e298281f7 100644 --- a/tools/perf/builtin-record.c +++ b/tools/perf/builtin-record.c @@ -74,6 +74,7 @@ #include #include #include +#include struct switch_output { bool enabled; @@ -848,6 +849,22 @@ static int record__mmap_evlist(struct record *rec, opts->auxtrace_sample_mode; char msg[512]; +#ifndef __LP64__ + struct utsname uts; + int ret; + + ret = uname(&uts); + if (ret < 0) + return ret; + + if (!strncmp(uts.machine, "x86_64", 6) || !strncmp(uts.machine, "aarch64", 7) || + !strncmp(uts.machine, "arm64", 5)) { + pr_err("Error, 32-bit perf cannot record from a 64-bit kernel.\n" + "Please use a 64-bit version of perf instead.\n"); + return -ENOTSUP; + } +#endif + if (opts->affinity != PERF_AFFINITY_SYS) cpu__setup_cpunode_map();