Message ID | 20230321154626.448816-1-felix.willgerodt@intel.com |
---|---|
Headers |
Return-Path: <gdb-patches-bounces+patchwork=sourceware.org@sourceware.org> X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id BF1423854836 for <patchwork@sourceware.org>; Tue, 21 Mar 2023 15:47:01 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org BF1423854836 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1679413621; bh=0uJ1b4DvFdRzYst80OJiLZVNsq+5+qPMw6GxJRNPMgg=; h=To:Cc:Subject:Date:List-Id:List-Unsubscribe:List-Archive: List-Post:List-Help:List-Subscribe:From:Reply-To:From; b=vKDQJ3XQ6OCUiMucPfT8ETJmx7xSAOia8tXx2LMOY2KA8BB2zcZBBmfvJTd0YHRGH UMJbFdwR6rWN9fMuTfFMnhQsF68fce2o6xlysNbCAhU9hmJEtthnotN7lwI6h/h76S jNbmv//KBGSL2Bw9Z9AQXXK6g42jmpLRsNWGhRV0= X-Original-To: gdb-patches@sourceware.org Delivered-To: gdb-patches@sourceware.org Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by sourceware.org (Postfix) with ESMTPS id 670633858D37 for <gdb-patches@sourceware.org>; Tue, 21 Mar 2023 15:46:35 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 670633858D37 X-IronPort-AV: E=McAfee;i="6600,9927,10656"; a="366709253" X-IronPort-AV: E=Sophos;i="5.98,279,1673942400"; d="scan'208";a="366709253" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Mar 2023 08:46:34 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10656"; a="792149328" X-IronPort-AV: E=Sophos;i="5.98,279,1673942400"; d="scan'208";a="792149328" Received: from mulfelix.iul.intel.com (HELO localhost) ([172.28.49.163]) by fmsmga002-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Mar 2023 08:46:33 -0700 To: gdb-patches@sourceware.org Cc: Felix Willgerodt <felix.willgerodt@intel.com> Subject: [PATCH v8 00/10] Extensions for PTWRITE Date: Tue, 21 Mar 2023 16:46:16 +0100 Message-Id: <20230321154626.448816-1-felix.willgerodt@intel.com> X-Mailer: git-send-email 2.39.2 MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_NONE, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list <gdb-patches.sourceware.org> List-Unsubscribe: <https://sourceware.org/mailman/options/gdb-patches>, <mailto:gdb-patches-request@sourceware.org?subject=unsubscribe> List-Archive: <https://sourceware.org/pipermail/gdb-patches/> List-Post: <mailto:gdb-patches@sourceware.org> List-Help: <mailto:gdb-patches-request@sourceware.org?subject=help> List-Subscribe: <https://sourceware.org/mailman/listinfo/gdb-patches>, <mailto:gdb-patches-request@sourceware.org?subject=subscribe> From: Felix Willgerodt via Gdb-patches <gdb-patches@sourceware.org> Reply-To: Felix Willgerodt <felix.willgerodt@intel.com> Errors-To: gdb-patches-bounces+patchwork=sourceware.org@sourceware.org Sender: "Gdb-patches" <gdb-patches-bounces+patchwork=sourceware.org@sourceware.org> |
Series |
Extensions for PTWRITE
|
|
Message
Felix Willgerodt
March 21, 2023, 3:46 p.m. UTC
Eli already approved the documentation parts. Markus reviewed every patch and approved the btrace bits. The only thing that is missing is a maintainers approval for the Python bits. v7 can be found here: https://sourceware.org/pipermail/gdb-patches/2022-October/192830.html I pinged this version 12 times, but didn't get any response. Since the last time I posted this was half a year ago, I decided to re-post a rebased version again. I only had to solve some minor conflicts. The biggest change was using the new require logic for the testing. Thanks, Felix Felix Willgerodt (10): btrace: Introduce auxiliary instructions. btrace: Enable auxiliary instructions in record instruction-history. btrace: Enable auxiliary instructions in record function-call-history. btrace: Handle stepping and goto for auxiliary instructions. python: Introduce gdb.RecordAuxiliary class. python: Add clear() to gdb.Record. btrace, gdbserver: Add ptwrite to btrace_config_pt. btrace, linux: Enable ptwrite packets. btrace, python: Enable ptwrite filter registration. btrace: Extend ptwrite event decoding. gdb/NEWS | 7 + gdb/btrace.c | 68 ++- gdb/btrace.h | 38 +- gdb/config.in | 3 + gdb/configure | 11 + gdb/data-directory/Makefile.in | 1 + gdb/disasm-flags.h | 1 + gdb/doc/gdb.texinfo | 32 +- gdb/doc/python.texi | 168 ++++++ gdb/extension-priv.h | 5 + gdb/extension.c | 13 + gdb/extension.h | 3 + gdb/features/btrace-conf.dtd | 1 + gdb/guile/guile.c | 1 + gdb/nat/linux-btrace.c | 29 + gdb/python/lib/gdb/ptwrite.py | 80 +++ gdb/python/py-record-btrace.c | 136 ++++- gdb/python/py-record-btrace.h | 11 + gdb/python/py-record.c | 89 ++- gdb/python/py-record.h | 3 + gdb/python/python-internal.h | 3 + gdb/python/python.c | 2 + gdb/record-btrace.c | 107 +++- gdb/record.c | 10 + gdb/record.h | 5 +- gdb/remote.c | 33 ++ gdb/testsuite/gdb.btrace/i386-ptwrite.S | 550 ++++++++++++++++++ gdb/testsuite/gdb.btrace/ptwrite.c | 39 ++ gdb/testsuite/gdb.btrace/ptwrite.exp | 200 +++++++ gdb/testsuite/gdb.btrace/x86_64-ptwrite.S | 544 +++++++++++++++++ gdb/testsuite/gdb.python/py-record-btrace.exp | 6 +- gdb/testsuite/lib/gdb.exp | 72 +++ gdbserver/linux-low.cc | 3 + gdbserver/server.cc | 18 + gdbsupport/btrace-common.h | 6 + gdbsupport/common.m4 | 2 + gdbsupport/config.in | 3 + gdbsupport/configure | 11 + 38 files changed, 2279 insertions(+), 35 deletions(-) create mode 100644 gdb/python/lib/gdb/ptwrite.py create mode 100644 gdb/testsuite/gdb.btrace/i386-ptwrite.S create mode 100644 gdb/testsuite/gdb.btrace/ptwrite.c create mode 100644 gdb/testsuite/gdb.btrace/ptwrite.exp create mode 100644 gdb/testsuite/gdb.btrace/x86_64-ptwrite.S
Comments
On 3/21/23 11:46, Felix Willgerodt via Gdb-patches wrote: > Eli already approved the documentation parts. > Markus reviewed every patch and approved the btrace bits. > The only thing that is missing is a maintainers approval for the Python > bits. > > v7 can be found here: > https://sourceware.org/pipermail/gdb-patches/2022-October/192830.html > > I pinged this version 12 times, but didn't get any response. > Since the last time I posted this was half a year ago, I decided to re-post a > rebased version again. I only had to solve some minor conflicts. The > biggest change was using the new require logic for the testing. Hi Felix, Sorry for that. With the amount of stuff on the list, it's easy to overlook things and think "ehhh, I'm not comfortable reviewing this, I'll let someone else do it". I will check the Python bits. git shows these little things to fix when applying the series: ➜ binutils-gdb git:(master) ✗ git am ./v8_20230321_felix_willgerodt_extensions_for_ptwrite.mbx Applying: btrace: Introduce auxiliary instructions. Applying: btrace: Enable auxiliary instructions in record instruction-history. Applying: btrace: Enable auxiliary instructions in record function-call-history. Applying: btrace: Handle stepping and goto for auxiliary instructions. .git/rebase-apply/patch:29: indent with spaces. { .git/rebase-apply/patch:30: indent with spaces. *replay = start; .git/rebase-apply/patch:31: indent with spaces. return btrace_step_no_history (); .git/rebase-apply/patch:32: indent with spaces. } warning: 4 lines add whitespace errors. Applying: python: Introduce gdb.RecordAuxiliary class. Applying: python: Add clear() to gdb.Record. .git/rebase-apply/patch:106: trailing whitespace. gdb_test "python print(i.is_speculative)" "False" warning: 1 line adds whitespace errors. Applying: btrace, gdbserver: Add ptwrite to btrace_config_pt. Applying: btrace, linux: Enable ptwrite packets. Applying: btrace, python: Enable ptwrite filter registration. Applying: btrace: Extend ptwrite event decoding. .git/rebase-apply/patch:285: trailing whitespace. (gdb) info threads .git/rebase-apply/patch:1187: trailing whitespace. # SUCC: EXIT [always] .git/rebase-apply/patch:1227: trailing whitespace. # SUCC: EXIT [always] .git/rebase-apply/patch:1261: trailing whitespace. # SUCC: EXIT [always] warning: 4 lines add whitespace errors. Simon
>>>>> "Simon" == Simon Marchi via Gdb-patches <gdb-patches@sourceware.org> writes:
Simon> Sorry for that. With the amount of stuff on the list, it's easy to
Simon> overlook things and think "ehhh, I'm not comfortable reviewing this,
Simon> I'll let someone else do it".
This is exactly what I did as well. I see it as a kind of collective
action problem.
It's clear we need a new system here, but I don't know what it is. I
was hoping patchworks, but that turned out to require too much manual
intervention, IMO.
Maybe we should simply go back to gerrit, despite its issues. Perhaps
we could do it in conjunction with a robot that auto-assigns reviews.
Another option that would work with the above is to add more reviewers.
However, I don't think that just doing this would be enough -- there is
a structural problem here that we should address.
Tom
On 3/24/23 14:23, Tom Tromey wrote: >>>>>> "Simon" == Simon Marchi via Gdb-patches <gdb-patches@sourceware.org> writes: > > Simon> Sorry for that. With the amount of stuff on the list, it's easy to > Simon> overlook things and think "ehhh, I'm not comfortable reviewing this, > Simon> I'll let someone else do it". > > This is exactly what I did as well. I see it as a kind of collective > action problem. > > It's clear we need a new system here, but I don't know what it is. I > was hoping patchworks, but that turned out to require too much manual > intervention, IMO. > > Maybe we should simply go back to gerrit, despite its issues. Perhaps > we could do it in conjunction with a robot that auto-assigns reviews. I don't think just Gerrit would have helped, I would have ignored it on Gerrit as well. Perhaps some robot, as you said, would have helped, but I'm not sure it's good to just randomly assign reviews. We all have our areas of knowledge, and I think it's good to respect that. Perhaps some interactive patch triage / review session like glibc has would help, but I'm not sure people (including me) want to commit to a regular meeting for that. Simon
Simon> I don't think just Gerrit would have helped, I would have ignored it on Simon> Gerrit as well. Perhaps some robot, as you said, would have helped, but Simon> I'm not sure it's good to just randomly assign reviews. We all have our Simon> areas of knowledge, and I think it's good to respect that. What Rust did is have a robot auto-assign, but then the assignee could reassign the review to someone else if they thought they wouldn't do it well. The idea is to avoid the situation where no one in particular is responsible for a given patch. Tom
> -----Original Message----- > From: Simon Marchi <simark@simark.ca> > Sent: Freitag, 24. März 2023 14:57 > To: Willgerodt, Felix <felix.willgerodt@intel.com>; gdb- > patches@sourceware.org > Subject: Re: [PATCH v8 00/10] Extensions for PTWRITE > > On 3/21/23 11:46, Felix Willgerodt via Gdb-patches wrote: > > Eli already approved the documentation parts. > > Markus reviewed every patch and approved the btrace bits. > > The only thing that is missing is a maintainers approval for the Python > > bits. > > > > v7 can be found here: > > https://sourceware.org/pipermail/gdb-patches/2022-October/192830.html > > > > I pinged this version 12 times, but didn't get any response. > > Since the last time I posted this was half a year ago, I decided to re-post a > > rebased version again. I only had to solve some minor conflicts. The > > biggest change was using the new require logic for the testing. > > Hi Felix, > > Sorry for that. With the amount of stuff on the list, it's easy to > overlook things and think "ehhh, I'm not comfortable reviewing this, > I'll let someone else do it". I will check the Python bits. No worries, thanks for doing that! > git shows these little things to fix when applying the series: > > ➜ binutils-gdb git:(master) ✗ git am > ./v8_20230321_felix_willgerodt_extensions_for_ptwrite.mbx > Applying: btrace: Introduce auxiliary instructions. > Applying: btrace: Enable auxiliary instructions in record instruction-history. > Applying: btrace: Enable auxiliary instructions in record function-call- > history. > Applying: btrace: Handle stepping and goto for auxiliary instructions. > .git/rebase-apply/patch:29: indent with spaces. > { > .git/rebase-apply/patch:30: indent with spaces. > *replay = start; > .git/rebase-apply/patch:31: indent with spaces. > return btrace_step_no_history (); > .git/rebase-apply/patch:32: indent with spaces. > } > warning: 4 lines add whitespace errors. > Applying: python: Introduce gdb.RecordAuxiliary class. > Applying: python: Add clear() to gdb.Record. > .git/rebase-apply/patch:106: trailing whitespace. > gdb_test "python print(i.is_speculative)" "False" > warning: 1 line adds whitespace errors. > Applying: btrace, gdbserver: Add ptwrite to btrace_config_pt. > Applying: btrace, linux: Enable ptwrite packets. > Applying: btrace, python: Enable ptwrite filter registration. > Applying: btrace: Extend ptwrite event decoding. > .git/rebase-apply/patch:285: trailing whitespace. > (gdb) info threads > .git/rebase-apply/patch:1187: trailing whitespace. > # SUCC: EXIT [always] > .git/rebase-apply/patch:1227: trailing whitespace. > # SUCC: EXIT [always] > .git/rebase-apply/patch:1261: trailing whitespace. > # SUCC: EXIT [always] > warning: 4 lines add whitespace errors. > > Simon Argh, thanks for pointing those out. I will fix them. Felix Intel Deutschland GmbH Registered Address: Am Campeon 10, 85579 Neubiberg, Germany Tel: +49 89 99 8853-0, www.intel.de <http://www.intel.de> Managing Directors: Christin Eisenschmid, Sharon Heck, Tiffany Doon Silva Chairperson of the Supervisory Board: Nicole Lau Registered Office: Munich Commercial Register: Amtsgericht Muenchen HRB 186928