Received: by 2002:ac0:98c7:0:0:0:0:0 with SMTP id g7-v6csp1399499imd; Thu, 1 Nov 2018 15:09:21 -0700 (PDT) X-Google-Smtp-Source: AJdET5ckRkVd68rnVeC2jXCERdYIc4bqruwZJHb2bPcPbpoNn+dacH1hSi0cKiAPqabqmuEkrj14 X-Received: by 2002:a17:902:bd4a:: with SMTP id b10-v6mr9150484plx.171.1541110160888; Thu, 01 Nov 2018 15:09:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1541110160; cv=none; d=google.com; s=arc-20160816; b=KLtCq2RHoJMQ/QVO+hrtA3rk3AWp6kjZd3fC9nHiADTjYyOM5JzCNDpC5WigBaOghs nQHCUqWAm79vrkw1010ltqcQBxfDfyRnaAtNiU+f76aqnF4wUsrP6FLN7LHAaqBcnTJP YrGoRcx2zvdULt1qfyt7SReMJ6FV48HCUeUocxjPT7zXR1MxyGtgDSEf1uVcrcaD5obq NTZLAn2MCXV3xFFxSRcjRGElk8kSr2joOX3iv+fk/C4bYch8MP5DpcHMP37PPAU8Gkcf LPnIFyp0XJMCEHxDdN7I6z7un1R0nKqBiLt7Duz72MoF5jtwCuFOCTIWgHBLi7io/7ZN uSgQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:references:in-reply-to :organization:message-id:date:subject:cc:to:from:dkim-signature; bh=8/dmUfKL/9WohGldhTICxy4V4Ud6O3h4Ry/FAjT04i0=; b=szYLW9MBOSNuatx1i4SqVkqGB8wC66zxR5wQyQayf4SMlbHFE3S3nwj2qnqv/qqzDt Sb9Lxxiyu1Y2txfLgAJv5PmDLndaW2PIfL/GYIRUVK4Wp671EvoWjkh0l3K1+wS763rz irMlS1i96CqyX7sbWgA9RMY16GglnR3gcDeql26gtBFBEEdyjtSSskwZz9iduZAVu1NQ l/ksF6Y15db9oV9t6cz17ajYiUwDdKZh03NV0vDP6Uw/dgmrYvZibmyKsiMGUdK6Ak/F EEM3cebpRdNoMR4D+XmQkkLDAGBe1zcrmAuOaZ5p5AhqsVc8wLxqlI6OIdEv6s0D9DR0 61Mw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kdab.com header.s=dkim header.b=YgBul9Rb; 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=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=kdab.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id p10si4645179pgi.549.2018.11.01.15.09.06; Thu, 01 Nov 2018 15:09:20 -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; dkim=pass header.i=@kdab.com header.s=dkim header.b=YgBul9Rb; 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=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=kdab.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728080AbeKBHNS (ORCPT + 99 others); Fri, 2 Nov 2018 03:13:18 -0400 Received: from mail.kdab.com ([176.9.126.58]:18470 "EHLO mail.kdab.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727638AbeKBHNS (ORCPT ); Fri, 2 Nov 2018 03:13:18 -0400 Authentication-Results: mail.kdab.com (amavisd-new); dkim=pass (1024-bit key) reason="pass (just generated, assumed good)" header.d=kdab.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kdab.com; h= content-type:content-type:mime-version:references:in-reply-to :organization:message-id:date:date:subject:subject:from:from; s= dkim; t=1541110102; x=1541974103; bh=8/dmUfKL/9WohGldhTICxy4V4Ud 6O3h4Ry/FAjT04i0=; b=YgBul9Rbuk6ZdBuNItvvpg7kGrcC7XY4UAbuWBGnNMO xBXV1ZLDuVEjV5sOTWpLf0nATiB4UxqABQzWfPeiwBsxNKan+Q9RfiLV6P62b9qw 21carLBv++gKcU/SpqTDOYqCbbxWGp1pbCUfnMb/LB+5YiNXLxcYD8OCXA5DJsEw = X-Virus-Scanned: amavisd-new at kdab.com From: Milian Wolff To: Milian Wolff Cc: Andi Kleen , linux-kernel@vger.kernel.org, Jiri Olsa , namhyung@kernel.org, linux-perf-users@vger.kernel.org, Arnaldo Carvalho Subject: PEBS level 2/3 breaks dwarf unwinding! [WAS: Re: Broken dwarf unwinding - wrong stack pointer register value?] Date: Thu, 01 Nov 2018 23:08:18 +0100 Message-ID: <13521319.OzbRBoFVZM@agathebauer> Organization: KDAB In-Reply-To: <2122395.LD3O1NFKj8@agathebauer> References: <2335309.gnWok9HYb4@agathebauer> <20181024144818.GF6218@tassilo.jf.intel.com> <2122395.LD3O1NFKj8@agathebauer> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="nextPart2198123.MMhLtkTpF4"; micalg="sha256"; protocol="application/pkcs7-signature" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --nextPart2198123.MMhLtkTpF4 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" On Dienstag, 30. Oktober 2018 23:34:35 CET Milian Wolff wrote: > On Mittwoch, 24. Oktober 2018 16:48:18 CET Andi Kleen wrote: > > > Can someone at least confirm whether unwinding from a function prologue > > > via > > > .eh_frame (but without .debug_frame) should actually be possible? > > > > Yes it should be possible. Asynchronous unwind tables should work > > from any instruction. > We can find `7f91345bdaf8+1 = 7f91345bdaf9" at offset 16 (search for "f9 da > 5b 34 91 7f"). Using that address makes unwinding work for this sample. > What could be the reason for this shift? I believe I have found the culprit: PEBS seems to be at fault here - i.e. the RIP/RSP and the ustack dump of the sample simply don't fit together. Check this out: ``` $ for i in $(seq 10); do perf record -q -e "cycles:" --call-graph dwarf ./cpp- inlining > /dev/null; perf script | pcre2grep -c -M "hypot_finite.*\n.*\ [unknown\]"; done 0 0 0 0 0 0 0 0 0 0 $ for i in $(seq 10); do perf record -q -e "cycles:p" --call-graph dwarf ./ cpp-inlining > /dev/null; perf script | pcre2grep -c -M "hypot_finite.*\n.*\ [unknown\]"; done 0 0 0 0 0 0 0 0 0 0 $ for i in $(seq 10); do perf record -q -e "cycles:pp" --call-graph dwarf ./ cpp-inlining > /dev/null; perf script | pcre2grep -c -M "hypot_finite.*\n.*\ [unknown\]"; done 37 39 35 28 40 39 29 37 31 26 $ for i in $(seq 10); do perf record -q -e "cycles:ppp" --call-graph dwarf ./ cpp-inlining > /dev/null; perf script | pcre2grep -c -M "hypot_finite.*\n.*\ [unknown\]"; done 79 70 76 77 70 90 64 78 86 74 ``` Note how precise levels 0 and 1 do not produce any samples where unwinding fails. But precise level 2 produces some, and precise level 3 increases the amount (by ca. ~2x). I can reproduce this pattern on two separate Intel CPUs and kernel versions currently: Intel(R) Core(TM) i7-5600U CPU @ 2.60GHz with 4.18.16-arch1-1-ARCH Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz with 4.14.78-1-lts Could someone else try this? What about AMD and IBS - is it also affected? What about newer/different Intel CPUs? Better yet, can someone come up with a fix for this on Intel with maximum precise level? Thanks -- Milian Wolff | milian.wolff@kdab.com | Senior Software Engineer KDAB (Deutschland) GmbH, a KDAB Group company Tel: +49-30-521325470 KDAB - The Qt, C++ and OpenGL Experts --nextPart2198123.MMhLtkTpF4 Content-Type: application/pkcs7-signature; name="smime.p7s" Content-Disposition: attachment; filename="smime.p7s" Content-Transfer-Encoding: base64 MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCCDEIw ggXmMIIDzqADAgECAhBqm+E4O/8ra58B1dm4p1JWMA0GCSqGSIb3DQEBDAUAMIGFMQswCQYDVQQG EwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRowGAYD VQQKExFDT01PRE8gQ0EgTGltaXRlZDErMCkGA1UEAxMiQ09NT0RPIFJTQSBDZXJ0aWZpY2F0aW9u IEF1dGhvcml0eTAeFw0xMzAxMTAwMDAwMDBaFw0yODAxMDkyMzU5NTlaMIGXMQswCQYDVQQGEwJH QjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRowGAYDVQQK ExFDT01PRE8gQ0EgTGltaXRlZDE9MDsGA1UEAxM0Q09NT0RPIFJTQSBDbGllbnQgQXV0aGVudGlj YXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB AL6znlesKHZ1QBbHOAOY08YYdiFQ8yV5C0y1oNF9Olg+nKcxLqf2NHbZhGra0D00SOTq9bus3/mx gUsg/Wh/eXQ0pnp8tZ8XZWAnlyKMpjL+qUByRjXCA6RQyDMqVaVUkbIr5SU0RDX/kSsKwer3H1pT /HUrBN0X8sKtPTdGX8XAWt/VdMLBrZBlgvnkCos+KQWWCo63OTTqRvaq8aWccm+KOMjTcE6s2mj6 RkalweyDI7X+7U5lNo6jzC8RTXtVV4/Vwdax720YpMPJQaDaElmOupyTf1Qib+cpukNJnQmwygjD 8m046DQkLnpXNCAGjuJy1F5NATksUsbfJAr7FLUCAwEAAaOCATwwggE4MB8GA1UdIwQYMBaAFLuv fgI9+qbxPISOre44mOzZMjLUMB0GA1UdDgQWBBSCr2yM+MX+lmF86B89K3FIXsSLwDAOBgNVHQ8B Af8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADARBgNVHSAECjAIMAYGBFUdIAAwTAYDVR0fBEUw QzBBoD+gPYY7aHR0cDovL2NybC5jb21vZG9jYS5jb20vQ09NT0RPUlNBQ2VydGlmaWNhdGlvbkF1 dGhvcml0eS5jcmwwcQYIKwYBBQUHAQEEZTBjMDsGCCsGAQUFBzAChi9odHRwOi8vY3J0LmNvbW9k b2NhLmNvbS9DT01PRE9SU0FBZGRUcnVzdENBLmNydDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3Au Y29tb2RvY2EuY29tMA0GCSqGSIb3DQEBDAUAA4ICAQB4XLKBKDRPPO5fVs6fl1bsj6JrF/bz9kkI BtTYLzXN30D+03Hj6OxCDBEaIeNmsBhrJmuubvyE7HtoSmR809AgcYboW+rcTNZ/8u/Hv+GTrNI/ AhqX2/kiQNxmgUPt/eJPs92Qclj0HnVyy9TnSvGkSDU7I5Px+TbO+88G4zipA2psZaWeEykgzClZ lPz1FjTCkk77ZXp5cQYYexE6zeeN4/0OqqoAloFrjAF4o50YJafX8mnahjp3I2Y2mkjhk0xQfhNq bzlLWPoT3m7j7U26u7zg6swjOq8hITYc3/np5tM5aVyu6t99p17bTbY7+1RTWBviN9YJzK8HxzOb XYWBf/L+VGOYNsQDTxAk0Hbvb1j6KjUhg7fO294F29QIhhmiNOr84JHoy+fNLpfvYc/Q9EtFOI5I SYgOxLk3nD/whbUe9rmEQXLp8MB933Ij474gwwCPUpwv9mj2PMnXoc7mbrS22XUSeTwxCTP9bcmU dp4jmIoWfhQm7X9w/Zgddg+JZ/YnIHOwsGsaTUgj7fIvxqith7DoJC91WJ8Lce3CVJqb1XWeKIJ8 4F7YLXZN0oa7TktYgDdmQVxYkZo1c5noaDKH9Oq9cbm/vOYRUM1cWcef20Wkyk5S/GFyyPJwG0fR 1nRas3DqAf4cXxMiEKcff7PNa4M3RGTqH0pWR8p6EjCCBlQwggU8oAMCAQICEAf6KCF9+1doL2oE OTPysLwwDQYJKoZIhvcNAQELBQAwgZcxCzAJBgNVBAYTAkdCMRswGQYDVQQIExJHcmVhdGVyIE1h bmNoZXN0ZXIxEDAOBgNVBAcTB1NhbGZvcmQxGjAYBgNVBAoTEUNPTU9ETyBDQSBMaW1pdGVkMT0w OwYDVQQDEzRDT01PRE8gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWls IENBMB4XDTE3MDUyMzAwMDAwMFoXDTIwMDUyMjIzNTk1OVowggFZMQswCQYDVQQGEwJTRTEPMA0G A1UEERMGNjgzIDMxMRIwEAYDVQQIEwlWYWVybWxhbmQxEDAOBgNVBAcTB0hhZ2ZvcnMxGDAWBgNV BAkTD05vcnJpbmdzIHZhZWcgMjEPMA0GA1UEEhMGQm94IDMwMSYwJAYDVQQKDB1LbGFyw6RsdmRh bGVucyBEYXRha29uc3VsdCBBQjEdMBsGA1UECxMUQSBLREFCIEdyb3VwIENvbXBhbnkxQzBBBgNV BAsMOklzc3VlZCB0aHJvdWdoIEtsYXLDpGx2ZGFsZW5zIERhdGFrb25zdWx0IEFCIEUtUEtJIE1h bmFnZXIxHzAdBgNVBAsTFkNvcnBvcmF0ZSBTZWN1cmUgRW1haWwxFTATBgNVBAMTDE1pbGlhbiBX b2xmZjEkMCIGCSqGSIb3DQEJARYVbWlsaWFuLndvbGZmQGtkYWIuY29tMIIBIjANBgkqhkiG9w0B AQEFAAOCAQ8AMIIBCgKCAQEAxrzfNBVvRbiAknuTBXuQnNm9sLIFLo0vbPB6kswk78A3tA++Zn5c lQUHhGlQq1cdYxagnUpqwvG3Sod15mPSOLkAPf/mabLN7p+lFbRaUP+97ZkTZtvb4BCC3osIEFI4 G393OSFWqc2qmIPE/SwSASbAA20Fcaa2M6P1lhOk/ttUh2jIurTPF0wUycIA7lBddrOgaOA8e2m6 iLTNHtlrfRbBaUX91D5ebY+UWmIjXSQ9+CtutMzBkwnF0rZKririvOkklg9VzEGNQVHrQfDF2s/U pOtmtuVSwElauGT/KALyCFuIrYC1pmaKH8S1xODJqiRaf6jH8E+KQzKjyM/ErwIDAQABo4IB1TCC AdEwHwYDVR0jBBgwFoAUgq9sjPjF/pZhfOgfPStxSF7Ei8AwHQYDVR0OBBYEFN+m99RtIuA1bSdw 6b1brOX7X3AJMA4GA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUF BwMEBggrBgEFBQcDAjBGBgNVHSAEPzA9MDsGDCsGAQQBsjEBAgEDBTArMCkGCCsGAQUFBwIBFh1o dHRwczovL3NlY3VyZS5jb21vZG8ubmV0L0NQUzBaBgNVHR8EUzBRME+gTaBLhklodHRwOi8vY3Js LmNvbW9kb2NhLmNvbS9DT01PRE9SU0FDbGllbnRBdXRoZW50aWNhdGlvbmFuZFNlY3VyZUVtYWls Q0EuY3JsMIGLBggrBgEFBQcBAQR/MH0wVQYIKwYBBQUHMAKGSWh0dHA6Ly9jcnQuY29tb2RvY2Eu Y29tL0NPTU9ET1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1haWxDQS5jcnQwJAYI KwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmNvbW9kb2NhLmNvbTAgBgNVHREEGTAXgRVtaWxpYW4ud29s ZmZAa2RhYi5jb20wDQYJKoZIhvcNAQELBQADggEBABf47LSJADqH+ow9INv3QM1NC/qq2bjxGvsZ 68iD11VEUAFlsYfsVTgQqUirwPVTYenXtwVBELHZyywsui1JxL7HKQetLQegDDP/RyfjReVaWxhy 3OpuItsgLVbru9QVgPifnoBFPtfZcwjeJDmeSbLT8oj4Rd0KYBOIve7WKvsfNPsNwfbLwY2zILkE LjxZcVi2AwZHDyab+dzL/3YcLuJj1lSawBGn7ilpcdZydlv4aye51pD/MemLIYLcylt+ImrmjnTV y+QlAHRF3s5FE8yAr+W1MBD/1bKZCSgFt8VQoAlz3hiQh8QqZp4Zl8WuVL4+mP/mT6VDEWgq/0Bo cukxggJuMIICagIBATCBrDCBlzELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hl c3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxPTA7BgNV BAMTNENPTU9ETyBSU0EgQ2xpZW50IEF1dGhlbnRpY2F0aW9uIGFuZCBTZWN1cmUgRW1haWwgQ0EC EAf6KCF9+1doL2oEOTPysLwwDQYJYIZIAWUDBAIBBQCggZMwGAYJKoZIhvcNAQkDMQsGCSqGSIb3 DQEHATAcBgkqhkiG9w0BCQUxDxcNMTgxMTAxMjIwODE4WjAoBgkqhkiG9w0BCQ8xGzAZMAsGCWCG SAFlAwQBAjAKBggqhkiG9w0DBzAvBgkqhkiG9w0BCQQxIgQgreI4R6LV7qOsr4BK7J7dOioGOoVC YP0Jhmpe4N+hJfUwDQYJKoZIhvcNAQEBBQAEggEAf+bacf+P6UZXEgksCB6HCdyMPeCL+HRRVkmH AfQmi+2DP2kQY562hAUueOmkALIt0nyJOs3eEeCHx5n14QMPX0qhKT5W+CPPugNRjRysLac1TZLU aPt2Eg2pm/k4NY/8DqqNal7yTGPHTKqmaj0CptW2sMjcvdgYfF700fKrwbFAUCAFeGdDFrfsaimN rcYyjQL3f+TOAulj1ERFJoL6HLCVV+J3VkfaKj1lE+6vxwxCyCUs2xr77jC6fJ/wqf6CUsJZC+qt vLhExmQlXVIGbz3FcSujUQ7LO2eelW5EzenNkZq1RSUzyYypSykrlOzuuaosFy/r1RCvMZADN1s4 agAAAAAAAA== --nextPart2198123.MMhLtkTpF4--