Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp2105364yba; Fri, 19 Apr 2019 12:13:19 -0700 (PDT) X-Google-Smtp-Source: APXvYqwd+nB2PbLcvGl1ufDJpRuH7V8Ns94pWplZDVRuaY6Yo/fqIscrTuWa6n9bxNuq0hfSaXSP X-Received: by 2002:a62:1acb:: with SMTP id a194mr5862370pfa.252.1555701199518; Fri, 19 Apr 2019 12:13:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1555701199; cv=none; d=google.com; s=arc-20160816; b=e6XmZNwD+ieJbOUbZzwby1dt15ObyXtpUnsqVGlw4rp8DjXN6Dp/n1GRN7MvROSG03 fJf2Lb9A2OBLMiU8YGvtOT9eBwawnYU7Xsv/PXC1SrWZYuAn8G4PK0zVoFiYwfihkzLX H7A8HV0uL7Ei9FVRj9HS9rlitNqzfDFjTx8eZxVzhSbBfgZAs6SjJU9lR/7OjZIijxOz jGv1kK1VO7c+jQsW2D9FbcpFsZqHaNp6z3uq7re/1kZeWSItTFdcN1Rhna9JnzE9jqis lnzf2ZbC3S9K54ip26063RrmJYmJSOu21j/iDn9PFdwBvVdhhUGjMdnDIZq04gbQJW28 qzDw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version; bh=RTOZ59iF6vyITV6RUy35ISuiq8HQkbzhWEffOIA1370=; b=Vp8yeNlXtFYdDbqR82k5Wl2MNfQuKUN7l/XZL+PGqsJJvtF5LTVCta8Vj/UQv/541v 9skg/y2aEvcKestTGNgJmeizv4bwyeqJmf8T49KE5Gn/ZqYwooewS3UbSbTO8viSkvhc v15iueixJKORspCOiRW17VytD1ye+MnB48OZ6TrFxBnBSQtYMwivdkZFpeKg6mFtxb8o 1Ub2nuDb6FjN3j180218WseggITX1CpxBRqqzy6s/xD/kXe4gMPYz4h09XcflrdJWwO0 ixbSAnvewuBq6lknH/JCqKbZBnJydw4Uus/Ph4Wxf+0rV1ESoKAr8sEjJa0a4JXZ+kp+ zgRA== 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id u125si5385567pgc.281.2019.04.19.12.13.04; Fri, 19 Apr 2019 12:13:19 -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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728934AbfDSTLE (ORCPT + 99 others); Fri, 19 Apr 2019 15:11:04 -0400 Received: from mail-it1-f196.google.com ([209.85.166.196]:38080 "EHLO mail-it1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728061AbfDSTLD (ORCPT ); Fri, 19 Apr 2019 15:11:03 -0400 Received: by mail-it1-f196.google.com with SMTP id f22so9629057ita.3 for ; Fri, 19 Apr 2019 12:11:03 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=RTOZ59iF6vyITV6RUy35ISuiq8HQkbzhWEffOIA1370=; b=nka3so4UR+c6IjnlrfTkSoQVdGuNno0pgyeYC9kZECex5iZj+IvDmI5GPyV5pmKmrf JxB1DzC364QhmUrshhnmAtmNYg5W5XDkmtnreQMlv9yg5wpu8UOF4COPL/nD23YiYlOi LLKy68BNZ7WaVEo1Zdiq30tonrObE+NhtgYg3DMUtNN/tSk+PeqSJxETWXngFBoSTOS7 S3twxIs0lHbTIL6hVJQI7kGS5l8HSI1UgeVAkYNH9ArGylabfJwN+2MmJUDESN23KyVC NvjUXIhk+VEzGyS3tbSmn2DeVqvHt0QcQDvLudcImEt3ST6GW4WrCkKjeGuC0ssrI7df 6qaA== X-Gm-Message-State: APjAAAU4oN9cycs0G4YRovE7QFkpE8LWIkXTDVMq+BEeK5C+lcJnIoEj +C1TlPmG4KKzX4qwuRS4Yz0VmAjCzq5GsON61Ro3rjuGyaM9ng== X-Received: by 2002:a02:c510:: with SMTP id s16mr2144469jam.51.1555674449868; Fri, 19 Apr 2019 04:47:29 -0700 (PDT) MIME-Version: 1.0 References: <20190418160730.11901-1-kasong@redhat.com> <20190419005821.ttlpav7gviaed7am@treble> <20190419094313.GO7905@worktop.programming.kicks-ass.net> In-Reply-To: <20190419094313.GO7905@worktop.programming.kicks-ass.net> From: Kairui Song Date: Fri, 19 Apr 2019 19:47:18 +0800 Message-ID: Subject: Re: [RFC PATCH v3] perf/x86: make perf callchain work without CONFIG_FRAME_POINTER To: Peter Zijlstra Cc: Josh Poimboeuf , Linux Kernel Mailing List , Ingo Molnar , Arnaldo Carvalho de Melo , Alexander Shishkin , Jiri Olsa , Alexei Starovoitov , Namhyung Kim , Thomas Gleixner , Borislav Petkov Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Apr 19, 2019 at 5:43 PM Peter Zijlstra wrote: > > On Fri, Apr 19, 2019 at 10:17:49AM +0800, Kairui Song wrote: > > On Fri, Apr 19, 2019 at 8:58 AM Josh Poimboeuf wrote: > > > > > > I still don't like using regs->bp because it results in different code > > > paths for FP and ORC. In the FP case, the regs are treated like real > > > regs even though they're fake. > > > > > > Something like the below would be much simpler. Would this work? I don't > > > know if any other code relies on the fake regs->bp or regs->sp. > > > > Works perfectly. My only concern is that FP path used to work very > > well, not sure it's a good idea to change it, and this may bring some > > extra overhead for FP path. > > Given Josh wrote all that code, I'm fairly sure it is still OK :-) > > But also looking at the code in unwind_frame.c, __unwind_start() seems > to pretty much do what the removed caller_frame_pointer() did (when > .regs=NULL) but better. > OK, with FP we will also need to do a few more extra unwinding, previously it start directly from the frame of the trace point, now have to trace back to the trace point first. If that's fine I could post another update (that will be pretty much just copy&paste from the Josh's code he posted :P , is this OK?) -- Best Regards, Kairui Song