From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by sourceware.org (Postfix) with ESMTPS id 70555388A427 for ; Fri, 13 Aug 2021 10:36:21 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 70555388A427 X-IronPort-AV: E=McAfee;i="6200,9189,10074"; a="202699793" X-IronPort-AV: E=Sophos;i="5.84,318,1620716400"; d="scan'208";a="202699793" Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Aug 2021 03:36:20 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.84,318,1620716400"; d="scan'208";a="674272707" Received: from orsmsx604.amr.corp.intel.com ([10.22.229.17]) by fmsmga006.fm.intel.com with ESMTP; 13 Aug 2021 03:36:20 -0700 Received: from orsmsx602.amr.corp.intel.com (10.22.229.15) by ORSMSX604.amr.corp.intel.com (10.22.229.17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.10; Fri, 13 Aug 2021 03:36:19 -0700 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.10 via Frontend Transport; Fri, 13 Aug 2021 03:36:19 -0700 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.103) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.10; Fri, 13 Aug 2021 03:36:17 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=UBVkO5LfniytFwY10UW2/P5Hscqqp0j8QBuXE+ck6uqottquRBxz9aEKNHNPdZYrcrLNZLF9Oe8nVe/t0VeRNXnOTmOSb/upPkkf8jb3w6tMi/5rTpSKVTGYMOp1UTbA6MYRxQYuPww2vNs697lg+NinrCBU6I4cFEgpl0tx45tDE2kL12KdaCr03Jlsxo49PT+VmuqlC3JSRH3pz0LDmoBOMqkGP/p63pFI8CehuvNEAhaFIkhig+asLxIPrFdF0w8mgiaxaLHXCbXtOIHQ0y4BaNRADksGyyJmplx75u7Jwi3Xe7W161d0gtdYhDMKlqyZOTSAr5TG0NhkXQJbhw== 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-SenderADCheck; bh=HbCUnluKuIKoix5EFAbC+yFLmWfLgnrSIsV49dic6mI=; b=J5DGVpatQfILWRfLuwoM0QcbsHnXqos1L6IdIEx8oKX9/3sCSzTHCKElD6cFYVn3dt+9wHEtf/LFl1fgUGzK/+zMhGBtHJoPNCEWo07LZ3/bRy0RxnuvTQ7zjNKgfiXsOG/l585XSUzdXGtyVpZE3+pDC6w84QGT0zWD71xZTLrXlxmufKEqfeDGDT2E8xaFT8iuzL6sg0CUjT3FwmWqwTg6kgiIT4UkxYBtdQRTrEm0X7NkIgyBbfBsRze0Q+rF0hjRyGMV4x5DJ4+MUsygNiDwarcZuy9FIvN9vM2929VMBiI1j5fzh294ukJrwuvpYAR9PTgmNFSUHkB0i5Tu+w== 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 DM4PR11MB5423.namprd11.prod.outlook.com (2603:10b6:5:39b::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.15; Fri, 13 Aug 2021 10:36:17 +0000 Received: from DM8PR11MB5749.namprd11.prod.outlook.com ([fe80::392c:516a:cc52:963]) by DM8PR11MB5749.namprd11.prod.outlook.com ([fe80::392c:516a:cc52:963%9]) with mapi id 15.20.4415.016; Fri, 13 Aug 2021 10:36:17 +0000 From: "Metzger, Markus T" To: "Willgerodt, Felix" CC: "gdb-patches@sourceware.org" Subject: RE: [PATCH v3 10/12] btrace, python: Enable calling the ptwrite listener. Thread-Topic: [PATCH v3 10/12] btrace, python: Enable calling the ptwrite listener. Thread-Index: AQHXYoPBTfcfyu9WLkm9E8eH3KGT+qtxkruQ Date: Fri, 13 Aug 2021 10:36:17 +0000 Message-ID: References: <20210616074205.1129553-1-felix.willgerodt@intel.com> <20210616074205.1129553-11-felix.willgerodt@intel.com> In-Reply-To: <20210616074205.1129553-11-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.5.1.3 dlp-product: dlpe-windows x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 65fad899-b754-405e-79ab-08d95e462eae x-ms-traffictypediagnostic: DM4PR11MB5423: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8882; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: Riwv9YPHXSnO2vNTjI5t/pnTUcU6hv/biE1c1jVjcyeYqKP1c2c7ZAkIyl/Rcz/z6wHRdbRZo5uhUpQvetWbVBlsmN4hnLm9NU5sq9VeXKdxWjGiEgVnmPXoGh7GghsohQZ4Lq4e/Bl2LJ2eGFQe/B72/u0mB3uPpCR/hiNlDQS9Nbkrx/xF4rjUtDjxd2AcZ7+aYxZ8Yq6B1dvt1lXcWYnbMZJblWbjStovOvO6wT3mZBKzdqG8mHoQkAeBFC69aU3X/ddJaEkzEaSqP2X7VLYnkzXKdPS1P+XTGG4VxPDhBu7eytUmfc6M2QTO95NWpVz9pBGuBZUMZB6UpDetekq4EidcnKcnvY/9tOTyCTVWUp0FtEeUKzHSZkN0hukWNEQQy918SZV9irWxHVsKallNyhLN8dChEqNFHBNWH64nTTawXKPcT2MSPV+xKbHIf0opBWWgL4pJ8W7SFCOFd1q4JNojoas9+DrmPBULnQynoGgcEarPX9/GltNYaISfBVq4S8gswCovZSomKAjwjJlJGLp8okDR/GzCiNY/rSr5UGJnC4QpxdxJtAJpabdVLyJK2+mkSwyUc2W6SREYxg6h70Mx7S0opWS3copF4hGjs2J+eO4I2DTF68fZW4ojjlR6uJXTGzxhFT+ogxvPHNm+sFBLR+CvirabrtIqysGoYS5ar+uzFfHqJJTlXQNu09z6TgZTB5DjXZSWFnTxHw== 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:(4636009)(376002)(39860400002)(366004)(346002)(396003)(136003)(52536014)(76116006)(38100700002)(7696005)(71200400001)(66446008)(6636002)(66556008)(66476007)(122000001)(64756008)(66946007)(478600001)(316002)(2906002)(86362001)(33656002)(4326008)(6862004)(8936002)(8676002)(5660300002)(186003)(26005)(9686003)(38070700005)(6506007)(55016002); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?8d4URE2zcYwisBtgU/jSqFG58wkafO9VYIF4JB4H229V0pMfp08FnN0rhgEB?= =?us-ascii?Q?uY0xGsS1xJ1O5dNlpOUjjM2lg3e1eQ+0lmir4JXEbCpuBfuOnxk55AZsXnu8?= =?us-ascii?Q?5sij/RkID5Swxq6ui1agjeVM7dLchZ29V8LStJt2oKEESdTqvm+0qAcNwe9C?= =?us-ascii?Q?ZdrDD+eXck0Z+HdaFegAorPJaW5K9R4zNC1Qn4G7TqRpHCf33SQBkOijfWUS?= =?us-ascii?Q?MAEC3lgRyUz0/NYc98esOB9r4PC4riu3L1D4VeTasGReqFyswmi4FijYNkvh?= =?us-ascii?Q?qRPwd4oIw1OAwwWt9FF1tELRjtEH+BbjLYl/HbFQeNhdiZOnxySBuPQne1tr?= =?us-ascii?Q?t8X0enmMlgtu8EKrXaS/X9+UFNbPVJy46srVRdFzodIAbt2d0jkOo1LxuYmz?= =?us-ascii?Q?9276V7BpVCePv0xYajVk/pm/cH5gP5ZPhA0Tj132UOsAcmijImxKo2NhLahg?= =?us-ascii?Q?pQ7KLrWaFup1cRRRzGyr0OcPPUj0lyvKw/9vWr4Bl4lte4Y679JALr+RJJP4?= =?us-ascii?Q?CbMWh8Q64P3W7b9WOitFM++hqM5eVt3vMb6VCC73tk8rKPI/syBf2ecANyvD?= =?us-ascii?Q?8RR39EgX+3mcyNKo4eVacNKsQ7oH/WnazmdN3UdUwTYRrsyr5tVooIop3V73?= =?us-ascii?Q?wAdUYPqH7IpeSDfERnnFFFTcceT13f95WOsPVkAJrFHQHSCgVPGFqvxXUCvY?= =?us-ascii?Q?nFLwJYTx7sPkEl3Yfze1CBLzhJONHLnCPE4ulPdOcSZXDpElCAJ/oNxxrSxv?= =?us-ascii?Q?/sKIzaYx/TftfyhtPBMy4oTyBehXh2KE4eP/MQvnjBosQeSkcXqPZOks02vs?= =?us-ascii?Q?F/JtHC7gf7MwlPd2yWbvUkx3FIpSx8wu/zrMzFl66E05WL7HvmAZIHn6SxNY?= =?us-ascii?Q?Psz9VDTzwIlbQNDUXiPuo59l9bvv8xrMAMKAaC1EkT5uHHaMbYPFhoTQI2oR?= =?us-ascii?Q?hkRaF+1qaYKAscehnKK+81NwXH7WdFss6tNWjfb7Vc6QZIeq40OuEEkO82R8?= =?us-ascii?Q?hYds6eik1PHehPfKGYp1PYbXF6TpApfb19mg/yixcVSglSY6OxJa6aFdbfmw?= =?us-ascii?Q?EQtFHFexXJX5JczQLWWw0u9DykcrIEscjb2qHSCeBPazYls3hXg539dYRFHq?= =?us-ascii?Q?o+l16RmekjAqOBAkRrDCpN3QozGN+cLdrpB0xE9CTJSIqixsr/8DA0ahxANi?= =?us-ascii?Q?0Elzd0+Rqp3RJgyH6NpeJ3uzqkTsM5w/eP9xMLDt3m5NV6ij5WVaBXjEXIF6?= =?us-ascii?Q?Zks4P//01VfCEmGpp2tWa7+VI1/tTC+5doBY1Lj/SaiYgKvacHk2ZdzNVZMe?= =?us-ascii?Q?M9k=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: 65fad899-b754-405e-79ab-08d95e462eae X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Aug 2021 10:36:17.2279 (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: EvoDHpxPZhuR04+oxPmc5/x4mi8a5c6X/xd2JPzMImzx15t+Dl5V0my9CKrl4Pt7eON14NRb3BML2SpSaESwiKOrgOumFqPjT7Fb6skuSWU= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR11MB5423 X-OriginatorOrg: intel.com Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-1.8 required=5.0 tests=BAYES_00, DKIM_INVALID, DKIM_SIGNED, KAM_DMARC_NONE, KAM_DMARC_STATUS, SPF_HELO_NONE, SPF_NONE, TXREP autolearn=no autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) 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: Fri, 13 Aug 2021 10:36:31 -0000 Thanks, Felix, >+ /* Function pointer to the ptwrite callback. Returns the string return= ed >+ by the ptwrite listener function or nullptr if no string is supposed= to >+ be printed. */ >+ gdb::unique_xmalloc_ptr (*ptw_callback_fun) ( Should the function return std::string? >+ const uint64_t *payload, >+ const uint64_t *ip, Should we pass the actual values rather than const pointers to them? >+ const void *ptw_listener); >+ > /* PyObject pointer to the ptwrite listener function. */ > void *ptw_listener =3D nullptr; The callback and its context should be added in a single patch. In that ca= se, it's also OK to declare it void * since the callback is supposed to kno= w. I assume this will be necessary if we wanted to support other extension = languages that require different contexts. >+ /* As Python is started as a seperate thread, we need to >+ acquire the GIL to safely call the listener function. */ >+ PyGILState_STATE gstate =3D PyGILState_Ensure (); >+ >+ PyObject *py_payload =3D PyLong_FromUnsignedLongLong (*payload); >+ PyObject *py_ip; >+ >+ if (ip =3D=3D nullptr) I see. We could define zero as invalid. >+ { >+ py_ip =3D Py_None; >+ Py_INCREF (Py_None); >+ } >+ else >+ py_ip =3D PyLong_FromUnsignedLongLong (*ip); >+ >+ PyObject *py_result =3D PyObject_CallFunctionObjArgs ((PyObject *) ptw_= listener, >+ py_payload, py_ip, NULL); s/NULL/nullptr/ 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