From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by sourceware.org (Postfix) with ESMTPS id B3937385841D for ; Wed, 19 Oct 2022 14:42:03 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org B3937385841D X-IronPort-AV: E=McAfee;i="6500,9779,10505"; a="293823455" X-IronPort-AV: E=Sophos;i="5.95,196,1661842800"; d="scan'208";a="293823455" Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Oct 2022 07:42:02 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10505"; a="698103929" X-IronPort-AV: E=Sophos;i="5.95,196,1661842800"; d="scan'208";a="698103929" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by fmsmga004.fm.intel.com with ESMTP; 19 Oct 2022 07:42:01 -0700 Received: from fmsmsx611.amr.corp.intel.com (10.18.126.91) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Wed, 19 Oct 2022 07:42:01 -0700 Received: from fmsmsx611.amr.corp.intel.com (10.18.126.91) by fmsmsx611.amr.corp.intel.com (10.18.126.91) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Wed, 19 Oct 2022 07:42:01 -0700 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by fmsmsx611.amr.corp.intel.com (10.18.126.91) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31 via Frontend Transport; Wed, 19 Oct 2022 07:42:01 -0700 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.168) by edgegateway.intel.com (192.55.55.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2375.31; Wed, 19 Oct 2022 07:41:58 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=SXCZlRSmyK4ejpJ8pGaF8syMd+TmHl/p+/bR9r/WnlIci8m2naqPpKQyUen3NRqWvPIn4leKZwy0998973TheNEESRcldv7e5+emeSEMH4/zkF7E8BeH7BI9+vf8tA5ZtGLMWHdV4jHoAfEGVyV1eWc/bdo7MsXsGNablmE2TpLqc5It359RO5+N+UCXxl0bSTFxgromthkP2Tm4w7N5EFp+3NvvmJ2IJoNssLsaIBbjwUsXLuxCmlaTfRw0wjdxk297hXDuR6LeFl/E13XJt9dYIvvj0VsQ1xgB+TXjOtGuKvypyHYpcbQ1GOTKmdseqxcNgb3wXlnNScSHjVwJPQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=Fa9KMBdVPy0JYbBpUEbiB7Bae6QkQoJKcDzvVCcW6xg=; b=I8p6B7HNIH1J5UMT0mtLvZC6UU1sT9eWadmVgccdNnVcDK6k9C89rOM35CIlacyMZur/gbvbHDnEZYgpu0qZlblqPQEZMnAkbmrV7zT5Jq7+CyUkEUF1ZQycQ9WCTQylHShFBu06KZhLImEpynZPpL9gka5GvL0Q+XAOqPW00q61zrtkLfskzEBVeyNvm5/1uNipbVWDZJlSoF60QqyOK6gsaKDrKjaRbgqs+Lx3idAz5INwwriD4e5BMMsITaAbR/XhPJKgvNd577G83jQdXKgUvjKE/aTxmrhL54hozoHJ4jPKAtCa6DTPLhfWVqMGMAypQuiVOnJsLxsu7za80g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from DM8PR11MB5749.namprd11.prod.outlook.com (2603:10b6:8:10::15) by SA0PR11MB4526.namprd11.prod.outlook.com (2603:10b6:806:96::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5723.34; Wed, 19 Oct 2022 14:41:57 +0000 Received: from DM8PR11MB5749.namprd11.prod.outlook.com ([fe80::65d4:f6fa:40b9:2437]) by DM8PR11MB5749.namprd11.prod.outlook.com ([fe80::65d4:f6fa:40b9:2437%5]) with mapi id 15.20.5723.034; Wed, 19 Oct 2022 14:41:57 +0000 From: "Metzger, Markus T" To: "Willgerodt, Felix" CC: "gdb-patches@sourceware.org" Subject: RE: [PATCH v6 09/10] btrace, python: Enable ptwrite filter registration. Thread-Topic: [PATCH v6 09/10] btrace, python: Enable ptwrite filter registration. Thread-Index: AQHYycDltk3wBhGoPE6QeWnf0dhceq4V+Sgg Date: Wed, 19 Oct 2022 14:41:57 +0000 Message-ID: References: <20220916113646.49749-1-felix.willgerodt@intel.com> <20220916113646.49749-10-felix.willgerodt@intel.com> In-Reply-To: <20220916113646.49749-10-felix.willgerodt@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-reaction: no-action dlp-version: 11.6.500.17 dlp-product: dlpe-windows x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DM8PR11MB5749:EE_|SA0PR11MB4526:EE_ x-ms-office365-filtering-correlation-id: 2b400ab8-f776-4034-7ff4-08dab1e012bb x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: u7f5Nco5Tm80DiS74g0Z1Pc2G32h4STXWTIMaPyGU1Yb6xm0xwJ5CP33OssJUT/2rJn9U1amDEr57ntMzZzi3EVJaJPtSq/ykIY3mtcPouARHUWVRWOzfMIqSvDPKxcS4QDu8H6df7Zac+cAQNkVUyvlNtSJQXqcdKzk7+hRA+FQtbFx+fbuX93GrEMvppXt+f+8TiagjQVJdAnZz3qW06q5eb3cHpE4XlN1zoZPkXmyLxIySzL8SC52x8FiAD4O2DaGnWvbIzLfLJ4drhi3dvqE1BA5C0brwbrYnN6bitnnxVNqXCwhE/aFgdJ8y1FEDnWP+Ya5doVaaw9AViGa45Y9MoGQo5FdR8lSygzHg/7cd3iMyMWmlaYYLBEaqCcefM0nvQSHWPNBaf/NoOFgMRF0nuge/cVAU9SUG5Y8qTu8sPOi4Z4prldfDHbQyTIPnYbRV3nGJBINL3C4gqVB078sjuhUKxd9ndPOjCkQDh7MvfSkTRY5HbuGf4mbDrAKg+rBt+MWsr5qe5Wior9JQPj82JDDEjB+Xydf6n2td9nRekcQH6Lwgjv23uJ2lUJ9EF2k3AZKACiXuajdLZLr2uAgc2RgBv3QY4usUTseSd+ML2ScFOHCR9z5FsglHXRHc6881YKBkBGw2LMjQ31s+xWtbuDmUADqlMw5dcVyITduM92nXCMDcw8p80sZGTdUZcjTM3PripJ2xRNsfHa70QtUlel5+QL4wKDaYccrjRmsgVu7sxsRlZstID9WpOxC x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM8PR11MB5749.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230022)(396003)(136003)(376002)(39860400002)(366004)(346002)(451199015)(82960400001)(38100700002)(52536014)(86362001)(9686003)(5660300002)(6862004)(8936002)(33656002)(41300700001)(6506007)(7696005)(76116006)(66556008)(66946007)(66476007)(66446008)(64756008)(26005)(55016003)(8676002)(4326008)(38070700005)(186003)(2906002)(6636002)(316002)(71200400001)(478600001)(122000001); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?Wm7MxkrrE+RrJCenRKh6xbzXQcc3O457aDlwxtDcEF+k+M8cC83l97sjV4rp?= =?us-ascii?Q?mtFMon9dtQQLiJ9vMMsMaejY1CztWmANjDr4tll4762R2rYvtIQbEhvkNChM?= =?us-ascii?Q?A00+9CzunMo0rE9rLJL9kWvSYMYtUDhhUlGw9zqL0UU1tLjNIt3Gw/89eJsq?= =?us-ascii?Q?Jikik4j6ugWkL/Qx4TULaZAgk27qa4nHECZPQmm2yCoo7KBhGCRiCDN54qCh?= =?us-ascii?Q?ZTHyOzfUHiHd/UKPVz6QbqeVVKT/acbAj+IFHSCQgdQtjq96DSM5ECKJ8H8Q?= =?us-ascii?Q?jcnnQe67rML174wI+fMuqV5D1Hfar2qllxJCwfLz121Ixa3LUBz6Vp3Sj2+I?= =?us-ascii?Q?5O/UDfi325pOqRMx50AvW5vKpNF4o8UK0k5pSFjS5M99HbTaaVxBYloLjxIF?= =?us-ascii?Q?0DEwGEqXxdpuHLhkiXufHOrf1j2PH0WlB5b7NDcdg6s9eJBhDpOZ6TEXBwlP?= =?us-ascii?Q?JhOR4C+QNLfSn/ZKTQ3Z2B8QpFPBJVpWAlqt/YpefFQoYPImRvWoWC9i8dKp?= =?us-ascii?Q?r3mzBgFL9Gx1c7EAjvfr76uYPXJtKXwLTSTCy09SUgSawTOupcvDao2j3FxS?= =?us-ascii?Q?3fLbvE0ISPpuAZLIC58KBmWxb6CPqBz1861lo9KoYaHexMqM/kzQh8M/medv?= =?us-ascii?Q?4eKQX0PUfBUfUQcCVKeadoYasBQrLaLc5cvXQcKIu/gMWLzQVh5dBx6+vxmd?= =?us-ascii?Q?On8OzITuzg4h4tDsEnwq6HoL6xmNVwiAJF0nB5DFbXOZ8OmjSLOuU2OzR+/8?= =?us-ascii?Q?xyI+/Gix2MfFRwaaxsSVL992hVKAu/Y7AgwUD56z6RObNi9dLz0sSZX60RbT?= =?us-ascii?Q?pfglq3/vaoQHA0FldeIlVQkfnlESvaSwA2zxtvEb4ufPS3EZ6VuLF5T1uFxx?= =?us-ascii?Q?C1EZ5ugEqDCCz/hmj75+H4oZU+YvyKq28EkpSd1fxYHJkbiV/KdxqpY2Sh6n?= =?us-ascii?Q?0qNsYBrGennagOrzaGyKtNA2p8taJrVWasPG4GbPMajAdUiv/cpW5WxMeRxI?= =?us-ascii?Q?j7UhJ0Zg/8NCPJ3N+3u+hiGf0Gy+YieedKbZ17pp6RHtPiYi3nGv+mqUKQQW?= =?us-ascii?Q?+NQSY/j0On8/n3hAqX8N1jo7xzzUmGtgSYIdj3GrklqdcOZ4IqmIQ0LJQbeq?= =?us-ascii?Q?9YnFcRI1PJqigxlAjkBXYTTb53qyq8BVX7dZVzzQxQ0633g9kX0eAZWL0SZ9?= =?us-ascii?Q?X7FiY1GnGcWyu+lzrIM/+k68VxlXaveUt9kfWWgKXAhA0Km9RbO9RtGlnuET?= =?us-ascii?Q?uDcbXUlpkNVlL3zUkWKYF0rOS8N2pZFrelDfC9w/0cSn/yoyxPr4Zxvo5hkC?= =?us-ascii?Q?xUp18EVC5B69X9IY443wG2mp4H2ZhgE+HAAwvhokBoXqEhOxTbSbitD+BQWZ?= =?us-ascii?Q?JYGZh01oqjnUUotieX/P6OFY5c4TywRu1yeOCwQwPgHcyoIeAmZ7ZGd0r2FQ?= =?us-ascii?Q?3Fu9OqzPoNbHLLN6hPd9sF5oFufLKk1OZ/KfJdbe52WeMasle6xgz8xpl4SF?= =?us-ascii?Q?I24cOcRDvEuqYvh66H7YW6kwtgCgbAqhikCwR1B2/q7ZId3C43Gm8WcFx5Uh?= =?us-ascii?Q?fwcCJH4kIL7mu7jHxS4wdbvbKr0uxfMNvfJ+Nym5BH0fyaCUIv1I+mi31Djj?= =?us-ascii?Q?KQ=3D=3D?= Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM8PR11MB5749.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2b400ab8-f776-4034-7ff4-08dab1e012bb X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Oct 2022 14:41:57.0946 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 0ekFIa9aBU0HMWvs0IBrNtALGVsYdPi6yJKc8Nd5A9MMikfe16CxQKITNi/ROFlJGlLz6lUtRUhJm1yHEz6poeuTmhOVzhvFza/yOyT9dqM= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR11MB4526 X-OriginatorOrg: intel.com Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-4.6 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Oct 2022 14:42:07 -0000 Hello Felix, >With this patch a default ptwrite filter is registered upon start of GDB. >It prints the plain ptwrite payload as hex. The default filter can be >overwritten by registering a custom filter in python or by registering >"None", for no output at all. Registering a filter function creates per >thread copies to allow unique internal states per thread. >--- > gdb/btrace.c | 4 ++ > gdb/btrace.h | 8 ++++ > gdb/data-directory/Makefile.in | 1 + > gdb/extension-priv.h | 5 ++ > gdb/extension.c | 13 +++++ > gdb/extension.h | 3 ++ > gdb/guile/guile.c | 1 + > gdb/python/lib/gdb/ptwrite.py | 80 +++++++++++++++++++++++++++++++ > gdb/python/py-record-btrace.c | 88 ++++++++++++++++++++++++++++++++++ > gdb/python/py-record-btrace.h | 8 ++++ > gdb/python/python-internal.h | 3 ++ > gdb/python/python.c | 2 + > 12 files changed, 216 insertions(+) > create mode 100644 gdb/python/lib/gdb/ptwrite.py Looks good to me with one small nit and a question. >+ /* Function pointer to the ptwrite callback. Returns the string return= ed >+ by the ptwrite filter function. */ >+ std::string (*ptw_callback_fun) (const uint64_t payload, const uint64_t= ip, >+ const void *ptw_context); This should probably be initialized to nullptr. >+def get_filter(): >+ """Returns the filters of the current thread.""" >+ # The key is of this format to enable an per-inferior cleanup when an >+ # inferior exits. >+ key =3D f"{gdb.selected_inferior().pid}.{gdb.selected_thread().ptid[1= ]}" >+ >+ # Create a new filter for new threads. >+ if key not in _ptwrite_filter.keys(): >+ _ptwrite_filter[key] =3D deepcopy(_ptwrite_filter["global"]) Do we even need this "global" filter in the dict? Could we just use the default_filter, here? regards, markus. Intel Deutschland GmbH Registered Address: Am Campeon 10, 85579 Neubiberg, Germany Tel: +49 89 99 8853-0, 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