From mboxrd@z Thu Jan 1 00:00:00 1970 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=-3.8 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=no 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 308A1C55178 for ; Fri, 30 Oct 2020 08:01:42 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (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 8E35220719 for ; Fri, 30 Oct 2020 08:01:41 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="geIG8dBu"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=mg.codeaurora.org header.i=@mg.codeaurora.org header.b="abNEFkE5" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 8E35220719 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=codeaurora.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=merlin.20170209; h=Sender:Content-Type: Content-Transfer-Encoding:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:Message-ID:References:In-Reply-To:Subject:To:From: Date:MIME-Version:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=O63uDxFpRsrxFE5y3Mua6yYCAnlH38WMfQJeiO6EjcI=; b=geIG8dBuNtn82aS/OQ3p39+HY oDDIKoEUo6AgGtZoEmSE1cHyQWauj8Ul0u/zczYA8L9ND9BxjRpvoO5vHcPVhmxb9lgZxdm6zH+KJ T3JbsBUbyiwpgwGx+AjJGX/5mCcS4UYWNjppzWLJC+r2Z42CW2D5Zr6zGDLvJ1AK1z2P4sQTbWtRn d7e2W8z+0wzJE3h8uAxDxRFuLFn5flqnu4t5al5ExObPrDhzDLgP9yZuyL/fFxzDcLlWxu+D1VND5 zc9YhfZ86LoeHRqxpOZ+xOOKu+H9ERyWAQtfwc/GXROJjcgMosojM2ksZxcvaFTpR9ql1ggMpX5Nw jlQNH3TxQ==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1kYPKZ-0008Al-Cy; Fri, 30 Oct 2020 08:00:15 +0000 Received: from m42-4.mailgun.net ([69.72.42.4]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1kYPKT-000884-Hx for linux-arm-kernel@lists.infradead.org; Fri, 30 Oct 2020 08:00:11 +0000 DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=mg.codeaurora.org; q=dns/txt; s=smtp; t=1604044809; h=Message-ID: References: In-Reply-To: Subject: Cc: To: From: Date: Content-Transfer-Encoding: Content-Type: MIME-Version: Sender; bh=wzAYLmtiqKUHYKNwoQvgJ/EArCoML40Wcybfuv2xAzo=; b=abNEFkE5wkSiqpwFR4px2hXbQ7jYg88Wenb0j8dq+Qy90JdWYImGYATCEj3DkTMmbkaRKgJK WcvnFpV4+BMtiJSpGv/3TATNl0dMnjtRWofaGXzaKWmMDbnG5CHcfh/uT9aWxGT7hYnvvi+n mALZ4OuJ6lXMlcXMefiViJd0/yo= X-Mailgun-Sending-Ip: 69.72.42.4 X-Mailgun-Sid: WyJiYzAxZiIsICJsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmciLCAiYmU5ZTRhIl0= Received: from smtp.codeaurora.org (ec2-35-166-182-171.us-west-2.compute.amazonaws.com [35.166.182.171]) by smtp-out-n06.prod.us-west-2.postgun.com with SMTP id 5f9bc7fd6b237554e62f9eed (version=TLS1.2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256); Fri, 30 Oct 2020 07:59:57 GMT Received: by smtp.codeaurora.org (Postfix, from userid 1001) id 51B8CC43382; Fri, 30 Oct 2020 07:59:57 +0000 (UTC) Received: from mail.codeaurora.org (localhost.localdomain [127.0.0.1]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) (Authenticated sender: saiprakash.ranjan) by smtp.codeaurora.org (Postfix) with ESMTPSA id 445F1C433C6; Fri, 30 Oct 2020 07:59:56 +0000 (UTC) MIME-Version: 1.0 Date: Fri, 30 Oct 2020 13:29:56 +0530 From: Sai Prakash Ranjan To: Mathieu Poirier , Peter Zijlstra , Suzuki Poulose Subject: Re: [PATCHv2 2/4] coresight: tmc-etf: Fix NULL ptr dereference in tmc_enable_etf_sink_perf() In-Reply-To: <20201023203729.GA819775@xps15> References: <20201022212033.GA646497@xps15> <20201023073905.GM2611@hirez.programming.kicks-ass.net> <174e6461-4d46-cb65-c094-c06ee3b21568@arm.com> <20201023094115.GR2611@hirez.programming.kicks-ass.net> <20201023105431.GM2594@hirez.programming.kicks-ass.net> <2457de8f-8bc3-b350-fdc7-61276da31ce6@arm.com> <20201023131628.GY2628@hirez.programming.kicks-ass.net> <728fd89c-78f2-0c5c-0443-c91c62b02f0e@arm.com> <20201023134416.GA2628@hirez.programming.kicks-ass.net> <20201023203729.GA819775@xps15> Message-ID: <70e3a508af119be481c8f0a0acf0a44d@codeaurora.org> X-Sender: saiprakash.ranjan@codeaurora.org User-Agent: Roundcube Webmail/1.3.9 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20201030_040009_690135_0919DA44 X-CRM114-Status: GOOD ( 31.52 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Mark Rutland , Alexander Shishkin , linux-arm-msm@vger.kernel.org, coresight@lists.linaro.org, linux-kernel@vger.kernel.org, Arnaldo Carvalho de Melo , Stephen Boyd , Ingo Molnar , Namhyung Kim , Jiri Olsa , linux-arm-kernel@lists.infradead.org, Mike Leach Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="us-ascii"; Format="flowed" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Hello guys, On 2020-10-24 02:07, Mathieu Poirier wrote: > On Fri, Oct 23, 2020 at 03:44:16PM +0200, Peter Zijlstra wrote: >> On Fri, Oct 23, 2020 at 02:29:54PM +0100, Suzuki Poulose wrote: >> > On 10/23/20 2:16 PM, Peter Zijlstra wrote: >> > > On Fri, Oct 23, 2020 at 01:56:47PM +0100, Suzuki Poulose wrote: >> >> > > > That way another session could use the same sink if it is free. i.e >> > > > >> > > > perf record -e cs_etm/@sink0/u --per-thread app1 >> > > > >> > > > and >> > > > >> > > > perf record -e cs_etm/@sink0/u --per-thread app2 >> > > > >> > > > both can work as long as the sink is not used by the other session. >> > > >> > > Like said above, if sink is shared between CPUs, that's going to be a >> > > trainwreck :/ Why do you want that? >> > >> > That ship has sailed. That is how the current generation of systems are, >> > unfortunately. But as I said, this is changing and there are guidelines >> > in place to avoid these kind of topologies. With the future >> > technologies, this will be completely gone. >> >> I understand that the hardware is like that, but why do you want to >> support this insanity in software? >> >> If you only allow a single sink user (group) at the same time, your >> problem goes away. Simply disallow the above scenario, do not allow >> concurrent sink users if sinks are shared like this. >> >> Have the perf-record of app2 above fail because the sink is in-user >> already. > > I agree with you that --per-thread scenarios are easy to deal with, but > to > support cpu-wide scenarios events must share a sink (because there is > one event > per CPU). CPU-wide support can't be removed because it has been around > for close to a couple of years and heavily used. I also think using the > pid of > the process that created the events, i.e perf, is a good idea. We just > need to > agree on how to gain access to it. > > In Sai's patch you objected to the following: > >> + struct task_struct *task = READ_ONCE(event->owner); >> + >> + if (!task || is_kernel_event(event)) > > Would it be better to use task_nr_pid(current) instead of event->owner? > The end > result will be exactly the same. There is also no need to check the > validity of > @current since it is a user process. > We have devices deployed where these crashes are seen consistently, so for some immediate relief, could we atleast get some fix in this cycle without major design overhaul which would likely take more time. Perhaps my first patch [1] without any check for owner or I can post a new version as Suzuki suggested [2] dropping the export of is_kernel_event(). Then we can always work on top of it based on the conclusion of this discussion, we will atleast not have the systems crash in the meantime, thoughts? [1] https://lore.kernel.org/patchwork/patch/1318098/ [2] https://lore.kernel.org/lkml/fa6cdf34-88a0-1050-b9ea-556d0a9438cb@arm.com/ Thanks, Sai -- QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel