Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1t9KzR-009Jrg-QO for pgsql-hackers@arkaria.postgresql.org; Fri, 08 Nov 2024 09:09:13 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1t9KzO-007Ugh-NO for pgsql-hackers@arkaria.postgresql.org; Fri, 08 Nov 2024 09:09:11 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1t9KzN-007UgZ-Jt for pgsql-hackers@lists.postgresql.org; Fri, 08 Nov 2024 09:09:10 +0000 Received: from esa6.fujitsucc.c3s2.iphmx.com ([68.232.159.83]) by makus.postgresql.org with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1t9KzG-000mKH-N5 for pgsql-hackers@postgresql.org; Fri, 08 Nov 2024 09:09:08 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=fujitsu.com; i=@fujitsu.com; q=dns/txt; s=fj1; t=1731056943; x=1762592943; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=NFNvaGOkttplrvknNe/OU0lFRb7Y2FM1e8z1hv94FwA=; b=Tvjx/a4qoa6KuFq66C9q/opNyySdXkDXD4Hhl4F+GDWXqi5l2XDtNDls WwjX1E3NBDMwrAh+2LjDuvog8WxvR5jqHh7x/9ST5df2JGxBm/DkhV8x3 bY8q7DxKZoUu2IrBoio7bGHX1OankZoSJUryeyC7K3QF811vDcLadO+Xw fnPfiCYG/dY7dC85g6O6ZY4U5aLf/yrMjPX6vdHDSu6ZRVDV5kda7bSmR KQC2nHENQ4uINsAMR78hAYTFPiItvRn6whGYvpW8xDXDf74/wifJekmia GiNQVaSphb0TVrqe0xrhnvWLq/XZjA7oEJroILPrK283JjEaDq+JLO1O4 Q==; X-CSE-ConnectionGUID: /mD+8v8ZREqX47LDBSImsw== X-CSE-MsgGUID: ZPHKrdTjQzWii2guvN75SQ== X-IronPort-AV: E=McAfee;i="6700,10204,11249"; a="136275251" X-IronPort-AV: E=Sophos;i="6.12,137,1728918000"; d="scan'208,223";a="136275251" Received: from mail-japaneastazlp17010005.outbound.protection.outlook.com (HELO TY3P286CU002.outbound.protection.outlook.com) ([40.93.73.5]) by ob1.fujitsucc.c3s2.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Nov 2024 18:08:58 +0900 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=f2ejaWfDG9OmADPB4OjbjqM0EtilQ+8/vTIE3f/F3NVCnSe6gSM0wz0j5wOaXH2BIulsCzkxrYD/buCrmM5x7a0EGhGPcHGG8ZrdkiyUec4z+VMibEeURNm5NBXlfA2Lg264auiD77BEAIW6b/XYWHsMCoxOYxmk8AoNfwy+0Sx//uUv5O6OE/FWgfQ07DbbdpLwoakda7IA+CfaKXBYL79pQtXIRu5eF5/RQBZIycXEqlNW7rfibGJkgdF5jKhyh+7UYw5yvEHeQNqDdQ4hbJM0jn3PTIPwwAmUfjOjK2O1VGH0vDndPNhnCC0fHEjuIdMVTDytziKf75Ei5aJPRA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=UbLSWO9hGmKgQrM60dzbJPjMHursi47JMOSAPizzdoo=; b=G8St7exkXMfkMWO8EkZRMKrQQ46+3N4N446WH70je4txvRM/tq0AwMkH9n/AKUwRIpwBag0I5ssJyUDppIo3lpWsduASWDQPrZY943ek1XqkxA56tkhB+T5cqCZUMG0EfHnscm4sWMZZA0zXaCBgFYkAIeYLSqByMvPtrWPk/OLypEA8uB4CIrCGAHFkfxGlApeBv2JEoIr6LXYZ9WIe9v8PUSEaDAxLZsbQ8spPCwUjDL3nbY2y/KTzJhHDq2jmZ2gQaXOgk7OdAIpiQWNGtgvse4A4x9f9p9v2hy5t78MMVlniWSXcXMKx5f6x40eYd+NacKdN6Nsx+oMjOvDRtQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=fujitsu.com; dmarc=pass action=none header.from=fujitsu.com; dkim=pass header.d=fujitsu.com; arc=none Received: from OS0PR01MB5716.jpnprd01.prod.outlook.com (2603:1096:604:bb::12) by TYWPR01MB10243.jpnprd01.prod.outlook.com (2603:1096:400:1d5::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8137.19; Fri, 8 Nov 2024 09:08:55 +0000 Received: from OS0PR01MB5716.jpnprd01.prod.outlook.com ([fe80::fca7:f02b:186b:2a7a]) by OS0PR01MB5716.jpnprd01.prod.outlook.com ([fe80::fca7:f02b:186b:2a7a%5]) with mapi id 15.20.8137.019; Fri, 8 Nov 2024 09:08:55 +0000 From: "Zhijie Hou (Fujitsu)" To: Andres Freund CC: Amit Kapila , Aleksander Alekseev , pgsql-hackers , shveta malik , "tomas@vondra.me" , Jan Wieck Subject: RE: Commit Timestamp and LSN Inversion issue Thread-Topic: Commit Timestamp and LSN Inversion issue Thread-Index: AQHa/pcoVrj+V3tM10qR2HjrxQNLubJHTW+AgAAyFICAABlbAIABFeMAgGBprgCAA22dAIAA9umw Date: Fri, 8 Nov 2024 09:08:55 +0000 Message-ID: References: <9f7f4def-7ea8-4ad3-83e7-a8cc9d18c58a@wi3ck.info> In-Reply-To: Accept-Language: en-AS, ja-JP, en-US Content-Language: ja-JP X-MS-Has-Attach: yes X-MS-TNEF-Correlator: msip_labels: MSIP_Label_a7295cc1-d279-42ac-ab4d-3b0f4fece050_ActionId=2fde2f4f-2031-40ee-a299-7cc5ae93eb02;MSIP_Label_a7295cc1-d279-42ac-ab4d-3b0f4fece050_ContentBits=0;MSIP_Label_a7295cc1-d279-42ac-ab4d-3b0f4fece050_Enabled=true;MSIP_Label_a7295cc1-d279-42ac-ab4d-3b0f4fece050_Method=Standard;MSIP_Label_a7295cc1-d279-42ac-ab4d-3b0f4fece050_Name=FUJITSU-RESTRICTED?;MSIP_Label_a7295cc1-d279-42ac-ab4d-3b0f4fece050_SetDate=2024-11-08T09:03:25Z;MSIP_Label_a7295cc1-d279-42ac-ab4d-3b0f4fece050_SiteId=a19f121d-81e1-4858-a9d8-736e267fd4c7; authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=fujitsu.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: OS0PR01MB5716:EE_|TYWPR01MB10243:EE_ x-ms-office365-filtering-correlation-id: d870fd8b-df81-4f0b-390c-08dcffd4f8cf x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230040|376014|366016|1800799024|1580799027|38070700018; x-microsoft-antispam-message-info: =?iso-2022-jp?B?OUwxK3ozQWh1d2hCNlg2UEcvdW5XcHVQcEFYbGh3KzlwcnpSYlp2bDV5?= =?iso-2022-jp?B?QkhDak1VbjErc3Y5bURCTnpUWUNqZzUzRTk5T0EyWjdzVTUxYnpURGFB?= =?iso-2022-jp?B?L3JPL0pCNHZEMmRobktiL0YzcFd6K2grTG41aVZndUJpZENVVDhNWDFJ?= =?iso-2022-jp?B?RHpKQU9PM215QVpEb3QzTk5JdUlNU24zS1ZpbWVQUDZTQUlOWkpXRlFh?= =?iso-2022-jp?B?WU9zSXNMME1iM3JpRXJHc3NzTUtyU3RkT2xhWDZqYUQxSjdYOHJNQlFr?= =?iso-2022-jp?B?NFNTa0lsWnpWZjFLSlVzTVlaTUthclFqZWVuQlp0WEFNNStXUytXaExj?= =?iso-2022-jp?B?UldLckdWa2ViczZqZ1F0dGZnSlJzbzJocXBUdnhNeWNyL1AxZmU4QjBi?= =?iso-2022-jp?B?UENqclBtRjBxN0VmbWlnZy9WaU52S1hZY0RtY1QraG1seUFvcEN5QjJV?= =?iso-2022-jp?B?bzA0Y2ZwcFFpMU4veUxiRFZka29SSFc3aCtUVFFBWGhPUm5TM29HU0Vu?= =?iso-2022-jp?B?U1llODlMcEU0Z2FyQVJYcmlVejAycmlNVCt3Uk9jYVZucWJpYnVXajVx?= =?iso-2022-jp?B?UGpKRDVCWUJhUmw4VWVqWnZUak1xZWZGYnl2T2R3bTQvVWdnQno5blU2?= =?iso-2022-jp?B?TWt3WTJtTjRWdUZER0NsNTJ2eUsvZUFrNW5UczlzL3Y2YU9pNzEzVDNm?= =?iso-2022-jp?B?YnRRVU5wTGJCLzlJWVMvVWZPZkd6UGVrNCtZUW94Umt2dWt3N2FwR3Zv?= =?iso-2022-jp?B?alA2VEs0MWw3VVRQSC9VbDgxTzBVeEVJN0QwRlhYVFJ3QVJsd0lBY1Bp?= =?iso-2022-jp?B?b2djZDZIZDc4MGpLbCs4YmtZM0pwNmJMMCsxZEprMmowNHdDNi9yMmFj?= =?iso-2022-jp?B?MzdGbStWQTdTL2hTbDFnNXhCZDVuNW5iaGZBcWE1bFE0elBUVHo3bmt2?= =?iso-2022-jp?B?TzhZamZxR1VTVWJ6V2tuUkdNSVZqazNSdlFRc1lZeVJVNTE3TGovNkJw?= =?iso-2022-jp?B?N2ZuL3U2bGFGWkZxVndkcFZUVGQxQXBkN0oxUWJZK1hQWUErdGJGZ1VE?= =?iso-2022-jp?B?SzBMSG1hNExJTjROby9OLy96Y1lQYjJXZUFmVHgwTHdFcGJnL1JRcVFq?= =?iso-2022-jp?B?RHd2OE5kM0l4SDhydUh3OGdkQnhjU2htcVZoVlM0bTRKZ2UrWG5BODBY?= =?iso-2022-jp?B?QmdHTkx2bmtRR282ZjVLdGtjbUlkQ1J3MFhvdTJYSjRra1c5WWtmYXVh?= =?iso-2022-jp?B?alBGZlEwMGxvVmlVbVVtdWVpejh0Um0wSllDcTJVOGRJQWhJNmJJOUlm?= =?iso-2022-jp?B?bnM3YTQ2Tm5ZRE9kTC90QTBaZEtoeXRNSkphc1ZUTTVNL2YvYmVqYUF0?= =?iso-2022-jp?B?bk1OZkt4bVlpZDVRZkl2YWtreTBxL2I1aUNpMFVaY2ZxZVpKUkVNbmkv?= =?iso-2022-jp?B?d0pkT3RxMDROMUp0a1o5U0JhNk9ob2hrbVBDQTk0YmYzeGF3WlFuYStn?= =?iso-2022-jp?B?OHB5SDhTM2NjdFhwZ0NHQTdUeE83cVB6RktQOVlWZy9od0FkeFJuUzlI?= =?iso-2022-jp?B?VlJCV054SnJ1bGtqazhWTUpON1kvMXl3b1BRM0I4cCs5Vld1VGtsQ3J1?= =?iso-2022-jp?B?R2tPZTVJcGVWQkFOSTI0SmJucElyUU51NEdhYktqcEhBQ3lmSDM1TGRR?= =?iso-2022-jp?B?QXZyN1NyUHNYWVhNd2V4QUo0VlZmZXdJT1BFOWJteG0yMDI1bDBwdGx4?= =?iso-2022-jp?B?c0wrVExQNjBOUTFnM0U4dllRZjh3TzUyaEJFQWFwNVg4YzBqWFpNSnU2?= =?iso-2022-jp?B?eFMwdCtRMWp2d1A3T1FiLzVjTXJkSi9icGxIU0VJQUk1UmRmQ3JSUXZv?= =?iso-2022-jp?B?ZTZweG9JQWxxQnVpaU5vTGc4MVUwZy9YNlJyVWdLRlMyYWtLTG9pK1Fl?= =?iso-2022-jp?B?T2Q4a1BYTEhibU9wRlVwYVhiRS9TTDcwMGlsdTExVTZ3eFFzK2xBMGt0?= =?iso-2022-jp?B?OEFkaEpGM01hbmIzeEd1WnNQcG9ZRTVwSEs4SkV2aGZaVVcrYVRMa3Bq?= =?iso-2022-jp?B?YXc9PQ==?= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:ja;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS0PR01MB5716.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024)(1580799027)(38070700018);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-2022-jp?B?cFhlckMvYXdwVktGZkNDbGVNbnN6ZnpJdGtUR0FBRUQrVmh0VVU0akZZ?= =?iso-2022-jp?B?SDhHa1VtM2NhaFZaL28vRzVieHE1eDJoUmRtR1puN2k1REo5OHFnbHQ2?= =?iso-2022-jp?B?bksrOVRnVG9GdkRqRzk5TE5BWWRNZVZIUXZCcjZYbDR3cklEOXE1WUdw?= =?iso-2022-jp?B?UXg3UnNJSWY5RnlzU01OM0RkL3JlNDN0T2ZZOTdROFRENm10aEQrZy9M?= =?iso-2022-jp?B?S1BUWENRM1dhc3JqZlJOemQ0MDBIeXdRZ3ZnbU83UHJlakt3YVlmeVph?= =?iso-2022-jp?B?ZjJ1Q1BteVZKd0k5M2tpcHdYNHdUcGp1WGNmZTVNMVZLR2hXSlVEL3VO?= =?iso-2022-jp?B?cUFrejhmODdjQ0NlK2p1RHowc25pZGxSSGs1bjlWcXFkdGpRVXYrN3hv?= =?iso-2022-jp?B?SXlWMVZmR0VpNHF0bjBlWkIrSTE4NlE5bG83aFE5K3BTUzhVNEtEN1pa?= =?iso-2022-jp?B?dGV0V2FObVBETE5wc2ZNaDRWYklCdHVCd1NobGhOZ2ZnYk56TGR1dkp6?= =?iso-2022-jp?B?OVZYUjZJQjBYMmpwZkxnK2swNzhXM0JTTnpLL2V4VE5GRFhlZlU1MnpF?= =?iso-2022-jp?B?S3JsUkJuNjU1ZG9NYTEvbGVydDNwWlpPanJRWnEyYjJGSTlpZzZ6c1Fh?= =?iso-2022-jp?B?b2haMHNCcEZFM2I1ZWxCeXFWMm5QMlkvTkFrTnBpVXRob29KZWMyWVF1?= =?iso-2022-jp?B?dDlrM2k1SnpBQ0t6bXJGOTF1emJBdlpnajhlZXc2TklvWUxZS3JnVXBK?= =?iso-2022-jp?B?OEl6WkdFY09iL0gvZUZ0eXcwdGJrTTQxYnF5d0VyVlRkclFpcDREeXJ1?= =?iso-2022-jp?B?UTJzUFJDdm1mdUpiUW5lQXBOUnRaNXRUcGlEWTRnUGtJT0duU0hMbXhj?= =?iso-2022-jp?B?RG5Kd01iQXRmQ3NvZzh4VVd3N0FIaGNDdWNOeHk3MkFPdVRydE9ZcW5O?= =?iso-2022-jp?B?Y2ZGSFNDdll6OU96ZDZJTm5qTzI1MzRIOGhwU2xXL1pqRFE0YWRNcEh6?= =?iso-2022-jp?B?bW5oYlRFSitrK0M1OEJqd0xQYmdlUU41bzcwcGdkVDNtc29tV0lwL1V5?= =?iso-2022-jp?B?UUdHVFBXVDZoTkhkRHVJbWRzMXkyQkRWMlR4anVYUEw1OEFueXlsOGNs?= =?iso-2022-jp?B?OXZYOVJpQmJXYWx1akFJVElDM2g5RWI4OFpqVjQ2KzlwTHFqUy9rV2tq?= =?iso-2022-jp?B?bVVPZVRVN0ZPTFpVUUxnVjlOS05sbUY1b0l0Y1BOc2k5MU0vWWRUTS94?= =?iso-2022-jp?B?WXpDSmRDVm5sdzYwRmNzN0UzMHpkck8xMXUvcHhYMktjaVFBMS8vNVky?= =?iso-2022-jp?B?dTlCRXVaWGRWZVM4RWRRb204cUhPWi9Xa1pTYnQ2NTNmM2pFb29xU2Ni?= =?iso-2022-jp?B?NGhudzlSSnA4dXlsczlyOUNRcVlhMzV2TGFuUzdGSnNmZC9DSWFiVE1R?= =?iso-2022-jp?B?SytUSEVHUHgzbWJUd3VUQWFuY29jMHdVZTZQcEVUeTJCUUs3T1gyeTFH?= =?iso-2022-jp?B?VEQxbHdJbnplYlRqbWJTcGJtVHdyViszV1F6djhXcHdhb2FuWVhRUHBs?= =?iso-2022-jp?B?UW9peTV2bk5qcUpQaXVhaEIwK0hwY3hXL3FvOTRJRkxvb284ZDAvaGJ6?= =?iso-2022-jp?B?NXVLeFp2Umk3UUJLWXl6ek5Ja0J2dDJFMzZMTmNSL21QaCtZelFyWVh6?= =?iso-2022-jp?B?aUQ4WWV3aFgwb1J2Vm1MNFZONXVkb0dtREhKOGp5L0VVSmRtUHdXUlE0?= =?iso-2022-jp?B?MHkyZXJqM0pMQS9nT2hiOUwwR1hrZUlqb3VzT1BEanJmTE1pcW9mS0pJ?= =?iso-2022-jp?B?ZHZXWFJZamNBakxUQWhpQ2VaOEZ5WlhxRDd2bWNRdEhJckgrZHhwU2FI?= =?iso-2022-jp?B?Qit2RDZFOExubGx6bzFVNGI1SHA3K0ZoTzJua2VXVkR1em5lVDVNa3NR?= =?iso-2022-jp?B?dlVRejNHTDV6elBubFRQbndNVmxLbVdwZTR4OXBiQjlCaDlDOVdIcjh2?= =?iso-2022-jp?B?OHNxTVlobXAxVk9OWjV1dy9iWm1pWGNZMm5DK1d0Zyt2b2c1cnNIWUpa?= =?iso-2022-jp?B?dDh0NmFCV2gvTG90N1JkM2puWGlxNTRwQ3BVcURjNHBIY216K3l3b09E?= =?iso-2022-jp?B?Q0EwNTJZa3JUbjdONGhIVzJreVRWaTRKdVlzS2N4Uk1xWlBNbEZDVEpn?= =?iso-2022-jp?B?R2FtTnZrbEFRcS8wTFpmdzF2bTlGbHo4MWlNVDM3d0IxenhSb3dBbjlx?= =?iso-2022-jp?B?RGxPQU9aZmdJd216MGdwRHV6R3RvWTlxSVQyZUwrVlZsM2lCQy9JQzl4?= =?iso-2022-jp?B?K3FRRg==?= Content-Type: multipart/mixed; boundary="_002_OS0PR01MB57162A227EC357482FEB4470945D2OS0PR01MB5716jpnp_" MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: tzOEzZP30HDUtHc3Rg4jlaGQbW6VF7bfijGq0wKmBpd4KT2giKVIkDaChdnebMbeG0cav6yjYhxoIyAJIhwa1hgVVN9KwS7ccEhlOdzXtfhXP8ITkbZHgV1rFXNQ2QesL+fHMyRFF7SdrQz3Ooclv6+DKyF2Jg+OjzmnAj7kBuJq8vdMxyfAErqtEqwbrDFlQqOFnnh7mtLpSsP4fFkxEviIbR5G+4HNYI6rAcfDjqpenr4xtYABW/kgmBo15wiNhrmyKPwwXw5xGktgWQR0F9lHHQQtHrGzyvb0kjH0bru7LMF6j8Any2lAoCBcNXrqrr5ZwjmDJwtjnhaTYpymZjzVlMDaiqXHpMG8nAdEmI3ayGE+hqyZoOX930qd5TrQ4SDU5wM4VVzqamw9jyG2PkHuYQFswOkT03H87DtNI9gF7LbS5NZy8T38cx+qBjjIVcqV+k10pvAAjyQKyCvHBedH+EDcc3fP+2vWbTCq/YNsQUBPxHXjUYBppOWpriFoZWcZ1rb1LLw6YS5gSYRRa9KlH8jlfPSU8gE18MdI4RwC0+bgEocx8qokLS+rYpaHXMuM5Ps66ezczwYazaNAdTvQVkjafQiCFGf1Gm/BRhQ+PpIh/JPU9dUlk1mo4Xo4 X-OriginatorOrg: fujitsu.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: OS0PR01MB5716.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: d870fd8b-df81-4f0b-390c-08dcffd4f8cf X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Nov 2024 09:08:55.2042 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a19f121d-81e1-4858-a9d8-736e267fd4c7 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: SFK16osAHm0CepL+fAz7EyTl06yZUE14zupingAxhEoffYxwmRcpB7SWucDl9PuMnQ+Lx+Z+by3oQaHumUtooQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYWPR01MB10243 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --_002_OS0PR01MB57162A227EC357482FEB4470945D2OS0PR01MB5716jpnp_ Content-Type: text/plain; charset="iso-2022-jp" Content-Transfer-Encoding: quoted-printable On Friday, November 8, 2024 2:20 AM Andres Freund wrot= e: Hi, > On 2024-11-05 08:58:36 -0500, Jan Wieck wrote: > > The attached solution is minimally invasive because it doesn't move > > the timestamp generation (clock_gettime() call) into the critical > > section of > > ReserveXLogInsertLocation() that is protected by a spinlock. Instead > > it keeps track of the last commit-ts written to WAL in shared memory > > and simply bumps that by one microsecond if the next one is below or > > equal. There is one extra condition in that code section plus a > > function call by pointer for every WAL record. In the unlikely case of > > encountering a stalled or backwards running commit-ts, the expensive > > part of recalculating the CRC of the altered commit WAL-record is done > > later, after releasing the spinlock. I have not been able to measure > > any performance impact on a machine with 2x Xeon-Silver (32 HT cores). >=20 > I think it's *completely* unacceptable to call a hook inside > ReserveXLogInsertLocation, with the spinlock held, no less. That's the mo= st > contended section of code in postgres. I understand your concern and appreciate the feedback. I've made some adjustments to the patch by directly placing the code to adjust the commit timestamp within the spinlock, aiming to keep it as efficient as possible. = The changes have resulted in just a few extra lines. Would this approach be acceptable to you ? Additionally, we're also doing performance tests for it and will share the results once they're available. Best Regards, Hou zj --_002_OS0PR01MB57162A227EC357482FEB4470945D2OS0PR01MB5716jpnp_ Content-Type: application/octet-stream; name="v2-0001-POC-Make-commit-timestamp-monotonic-increase.patch" Content-Description: v2-0001-POC-Make-commit-timestamp-monotonic-increase.patch Content-Disposition: attachment; filename="v2-0001-POC-Make-commit-timestamp-monotonic-increase.patch"; size=9963; creation-date="Fri, 08 Nov 2024 09:03:28 GMT"; modification-date="Fri, 08 Nov 2024 09:08:54 GMT" Content-Transfer-Encoding: base64 RnJvbSAxZWRhZWRmNDBkODViYWFkN2M2ZTFkMTJhZGFlNGU1Y2NjNzIwNzdlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBIb3UgWmhpamllIDxob3V6ai5mbnN0QGNuLmZ1aml0c3UuY29t PgpEYXRlOiBGcmksIDggTm92IDIwMjQgMTU6MTA6NDggKzA4MDAKU3ViamVjdDogW1BBVENIIHY0 XSBNYWtlIGNvbW1pdCB0aW1lc3RhbXAgbW9ub3RvbmljIGluY3JlYXNlCgotLS0KIHNyYy9iYWNr ZW5kL2FjY2Vzcy90cmFuc2FtL3hhY3QuYyB8ICAxOCArKysrLQogc3JjL2JhY2tlbmQvYWNjZXNz L3RyYW5zYW0veGxvZy5jIHwgMTI5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKystLQogc3Jj L2luY2x1ZGUvYWNjZXNzL3hhY3QuaCAgICAgICAgIHwgICAyICsKIDMgZmlsZXMgY2hhbmdlZCwg MTQwIGluc2VydGlvbnMoKyksIDkgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tl bmQvYWNjZXNzL3RyYW5zYW0veGFjdC5jIGIvc3JjL2JhY2tlbmQvYWNjZXNzL3RyYW5zYW0veGFj dC5jCmluZGV4IGI3ZWJjYzJhNTUuLjBjYWFlYWU5MTMgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5k L2FjY2Vzcy90cmFuc2FtL3hhY3QuYworKysgYi9zcmMvYmFja2VuZC9hY2Nlc3MvdHJhbnNhbS94 YWN0LmMKQEAgLTI3OCw3ICsyNzgsNyBAQCBzdGF0aWMgYm9vbCBjdXJyZW50Q29tbWFuZElkVXNl ZDsKICAqLwogc3RhdGljIFRpbWVzdGFtcFR6IHhhY3RTdGFydFRpbWVzdGFtcDsKIHN0YXRpYyBU aW1lc3RhbXBUeiBzdG10U3RhcnRUaW1lc3RhbXA7Ci1zdGF0aWMgVGltZXN0YW1wVHogeGFjdFN0 b3BUaW1lc3RhbXA7CitUaW1lc3RhbXBUeiB4YWN0U3RvcFRpbWVzdGFtcDsKIAogLyoKICAqIEdJ RCB0byBiZSB1c2VkIGZvciBwcmVwYXJpbmcgdGhlIGN1cnJlbnQgdHJhbnNhY3Rpb24uICBUaGlz IGlzIGFsc28KQEAgLTMyNSw2ICszMjUsNyBAQCB0eXBlZGVmIHN0cnVjdCBTdWJYYWN0Q2FsbGJh Y2tJdGVtCiAKIHN0YXRpYyBTdWJYYWN0Q2FsbGJhY2tJdGVtICpTdWJYYWN0X2NhbGxiYWNrcyA9 IE5VTEw7CiAKK3hsX3hhY3RfY29tbWl0ICp4bGNvbW1pdHJlYyA9IE5VTEw7CiAKIC8qIGxvY2Fs IGZ1bmN0aW9uIHByb3RvdHlwZXMgKi8KIHN0YXRpYyB2b2lkIEFzc2lnblRyYW5zYWN0aW9uSWQo VHJhbnNhY3Rpb25TdGF0ZSBzKTsKQEAgLTIyMTQsNiArMjIxNSw5IEBAIFN0YXJ0VHJhbnNhY3Rp b24odm9pZCkKIAlpZiAoVHJhbnNhY3Rpb25UaW1lb3V0ID4gMCkKIAkJZW5hYmxlX3RpbWVvdXRf YWZ0ZXIoVFJBTlNBQ1RJT05fVElNRU9VVCwgVHJhbnNhY3Rpb25UaW1lb3V0KTsKIAorCS8qIFJl c2V0IHhsY29tbWl0cmVjICovCisJeGxjb21taXRyZWMgPSBOVUxMOworCiAJU2hvd1RyYW5zYWN0 aW9uU3RhdGUoIlN0YXJ0VHJhbnNhY3Rpb24iKTsKIH0KIApAQCAtNTgzMSw2ICs1ODM1LDcgQEAg WGFjdExvZ0NvbW1pdFJlY29yZChUaW1lc3RhbXBUeiBjb21taXRfdGltZSwKIAl4bF94YWN0X3R3 b3BoYXNlIHhsX3R3b3BoYXNlOwogCXhsX3hhY3Rfb3JpZ2luIHhsX29yaWdpbjsKIAl1aW50OAkJ aW5mbzsKKwlYTG9nUmVjUHRyCXJlc3VsdDsKIAogCUFzc2VydChDcml0U2VjdGlvbkNvdW50ID4g MCk7CiAKQEAgLTU5NzQsNyArNTk3OSwxNiBAQCBYYWN0TG9nQ29tbWl0UmVjb3JkKFRpbWVzdGFt cFR6IGNvbW1pdF90aW1lLAogCS8qIHdlIGFsbG93IGZpbHRlcmluZyBieSB4YWN0cyAqLwogCVhM b2dTZXRSZWNvcmRGbGFncyhYTE9HX0lOQ0xVREVfT1JJR0lOKTsKIAotCXJldHVybiBYTG9nSW5z ZXJ0KFJNX1hBQ1RfSUQsIGluZm8pOworCS8qCisJICogU2F2ZSB0aGUgY29tbWl0IHhscmVjIHNv IHRoYXQgd2UgY2FuIG1vZGlmeSB0aGUgeGFjdFN0b3BUaW1lc3RhbXAgYW5kCisJICogdGhlIHhh Y3RfdGltZSBvZiB0aGUgeGxyZWMgd2hpbGUgaG9sZGluZyB0aGUgbG9jayB0aGF0IGRldGVybWlu ZXMgdGhlCisJICogY29tbWl0LUxTTiB0byBlbnN1cmUgdGhlIGNvbW1pdCB0aW1lc3RhbXBzIGFy ZSBtb25vdG9uaWNhbGx5IGluY3JlYXNpbmcuCisJICovCisJeGxjb21taXRyZWMgPSAmeGxyZWM7 CisJcmVzdWx0ID0gWExvZ0luc2VydChSTV9YQUNUX0lELCBpbmZvKTsKKwl4bGNvbW1pdHJlYyA9 IE5VTEw7CisKKwlyZXR1cm4gcmVzdWx0OwogfQogCiAvKgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tl bmQvYWNjZXNzL3RyYW5zYW0veGxvZy5jIGIvc3JjL2JhY2tlbmQvYWNjZXNzL3RyYW5zYW0veGxv Zy5jCmluZGV4IDZmNTg0MTJiY2EuLjhlZmFkODNkZjMgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5k L2FjY2Vzcy90cmFuc2FtL3hsb2cuYworKysgYi9zcmMvYmFja2VuZC9hY2Nlc3MvdHJhbnNhbS94 bG9nLmMKQEAgLTE1NSw2ICsxNTUsMTIgQEAgaW50CQkJd2FsX3NlZ21lbnRfc2l6ZSA9IERFRkFV TFRfWExPR19TRUdfU0laRTsKICAqLwogaW50CQkJQ2hlY2tQb2ludFNlZ21lbnRzOwogCisvKgor ICogV2hldGhlciB0aGUgeGFjdF90aW1lIG9mIHhscmVjIGlzIG1vZGlmaWVkIHRvIGVuc3VyZSB0 aGUgY29tbWl0IHRpbWVzdGFtcHMKKyAqIGFyZSBtb25vdG9uaWNhbGx5IGluY3JlYXNpbmcuCisg Ki8KK3N0YXRpYyBib29sCVhsb2dSZWNvcmRNb2RpZmllZCA9IGZhbHNlOworCiAvKiBFc3RpbWF0 ZWQgZGlzdGFuY2UgYmV0d2VlbiBjaGVja3BvaW50cywgaW4gYnl0ZXMgKi8KIHN0YXRpYyBkb3Vi bGUgQ2hlY2tQb2ludERpc3RhbmNlRXN0aW1hdGUgPSAwOwogc3RhdGljIGRvdWJsZSBQcmV2Q2hl Y2tQb2ludERpc3RhbmNlID0gMDsKQEAgLTU1MSw2ICs1NTcsMTQgQEAgdHlwZWRlZiBzdHJ1Y3Qg WExvZ0N0bERhdGEKIAlYTG9nUmVjUHRyCWxhc3RGcHdEaXNhYmxlUmVjUHRyOwogCiAJc2xvY2tf dAkJaW5mb19sY2s7CQkvKiBsb2NrcyBzaGFyZWQgdmFyaWFibGVzIHNob3duIGFib3ZlICovCisK KwkvKgorCSAqIFRoaXMgaXMgb3VyIHNoYXJlZCwgbG9naWNhbCBjbG9jayB0aGF0IHdlIHVzZSB0 byBmb3JjZQorCSAqIGNvbW1pdCB0aW1lc3RhbXBzIHRvIGJlIG1vbm90b25pY2FsbHkgaW5jcmVh c2luZyBpbgorCSAqIGNvbW1pdC1MU04gb3JkZXIuIFRoaXMgaXMgcHJvdGVjdGVkIGJ5IHRoZSBX YWwtaW5zZXJ0CisJICogc3BpbmxvY2suCisJICovCisJVGltZXN0YW1wVHogbGFzdFhhY3RTdG9w VGltZTsKIH0gWExvZ0N0bERhdGE7CiAKIC8qCkBAIC03MDAsNiArNzE0LDcgQEAgc3RhdGljIHZv aWQgQ29weVhMb2dSZWNvcmRUb1dBTChpbnQgd3JpdGVfbGVuLCBib29sIGlzTG9nU3dpdGNoLAog CQkJCQkJCQlYTG9nUmVjRGF0YSAqcmRhdGEsCiAJCQkJCQkJCVhMb2dSZWNQdHIgU3RhcnRQb3Ms IFhMb2dSZWNQdHIgRW5kUG9zLAogCQkJCQkJCQlUaW1lTGluZUlEIHRsaSk7CitzdGF0aWMgdm9p ZCBYTG9nUmVjb3JkQ29ycmVjdENSQyhYTG9nUmVjRGF0YSAqcmRhdGEpOwogc3RhdGljIHZvaWQg UmVzZXJ2ZVhMb2dJbnNlcnRMb2NhdGlvbihpbnQgc2l6ZSwgWExvZ1JlY1B0ciAqU3RhcnRQb3Ms CiAJCQkJCQkJCQkgIFhMb2dSZWNQdHIgKkVuZFBvcywgWExvZ1JlY1B0ciAqUHJldlB0cik7CiBz dGF0aWMgYm9vbCBSZXNlcnZlWExvZ1N3aXRjaChYTG9nUmVjUHRyICpTdGFydFBvcywgWExvZ1Jl Y1B0ciAqRW5kUG9zLApAQCAtNzc4LDYgKzc5MywxMiBAQCBYTG9nSW5zZXJ0UmVjb3JkKFhMb2dS ZWNEYXRhICpyZGF0YSwKIAlpZiAoIVhMb2dJbnNlcnRBbGxvd2VkKCkpCiAJCWVsb2coRVJST1Is ICJjYW5ub3QgbWFrZSBuZXcgV0FMIGVudHJpZXMgZHVyaW5nIHJlY292ZXJ5Iik7CiAKKwkvKgor CSAqIE1ha2Ugc3VyZSB0aGUgZmxhZyB0ZWxsaW5nIHRoYXQgUmVzZXJ2ZVhMb2cuLi4oKSBtb2Rp ZmllZCB0aGUgcmVjb3JkIGlzCisJICogZmFsc2UgYXQgdGhpcyBwb2ludC4KKwkgKi8KKwlYbG9n UmVjb3JkTW9kaWZpZWQgPSBmYWxzZTsKKwogCS8qCiAJICogR2l2ZW4gdGhhdCB3ZSdyZSBub3Qg aW4gcmVjb3ZlcnksIEluc2VydFRpbWVMaW5lSUQgaXMgc2V0IGFuZCBjYW4ndAogCSAqIGNoYW5n ZSwgc28gd2UgY2FuIHJlYWQgaXQgd2l0aG91dCBhIGxvY2suCkBAIC05MDYsNiArOTI3LDE1IEBA IFhMb2dJbnNlcnRSZWNvcmQoWExvZ1JlY0RhdGEgKnJkYXRhLAogCiAJaWYgKGluc2VydGVkKQog CXsKKwkJLyoKKwkJICogSWYgbW9kaWZpZWQgdGhlIFhMb2cgUmVjb3JkLCByZWNhbGN1bGF0ZSB0 aGUgQ1JDLgorCQkgKi8KKwkJaWYgKFhsb2dSZWNvcmRNb2RpZmllZCkKKwkJeworCQkJWExvZ1Jl Y29yZENvcnJlY3RDUkMocmRhdGEpOworCQkJWGxvZ1JlY29yZE1vZGlmaWVkID0gZmFsc2U7CisJ CX0KKwogCQkvKgogCQkgKiBOb3cgdGhhdCB4bF9wcmV2IGhhcyBiZWVuIGZpbGxlZCBpbiwgY2Fs Y3VsYXRlIENSQyBvZiB0aGUgcmVjb3JkCiAJCSAqIGhlYWRlci4KQEAgLTEwODYsNiArMTExNiwy NSBAQCBYTG9nSW5zZXJ0UmVjb3JkKFhMb2dSZWNEYXRhICpyZGF0YSwKIAlyZXR1cm4gRW5kUG9z OwogfQogCisvKgorICogRnVuY3Rpb24gdG8gcmVjYWxjdWxhdGUgdGhlIFdBTCBSZWNvcmQncyBD UkMgaW4gY2FzZSBpdCB3YXMgYWx0ZXJlZCB0bworICogZW5zdXJlIGEgbW9ub3RvbmljYWxseSBp bmNyZWFzaW5nIGNvbW1pdCB0aW1lc3RhbXAgaW4gTFNOIG9yZGVyLgorICovCitzdGF0aWMgdm9p ZAorWExvZ1JlY29yZENvcnJlY3RDUkMoWExvZ1JlY0RhdGEgKnJkYXRhKQoreworCVhMb2dSZWNE YXRhICpyZHQ7CisJWExvZ1JlY29yZCAqcmVjaGRyID0gKFhMb2dSZWNvcmQgKikgcmRhdGEtPmRh dGE7CisJcGdfY3JjMzJjCXJkYXRhX2NyYzsKKworCUlOSVRfQ1JDMzJDKHJkYXRhX2NyYyk7CisJ Q09NUF9DUkMzMkMocmRhdGFfY3JjLCByZGF0YS0+ZGF0YSArIFNpemVPZlhMb2dSZWNvcmQsIHJk YXRhLT5sZW4gLSBTaXplT2ZYTG9nUmVjb3JkKTsKKwlmb3IgKHJkdCA9IHJkYXRhLT5uZXh0OyBy ZHQgIT0gTlVMTDsgcmR0ID0gcmR0LT5uZXh0KQorCQlDT01QX0NSQzMyQyhyZGF0YV9jcmMsIHJk dC0+ZGF0YSwgcmR0LT5sZW4pOworCisJcmVjaGRyLT54bF9jcmMgPSByZGF0YV9jcmM7Cit9CisK IC8qCiAgKiBSZXNlcnZlcyB0aGUgcmlnaHQgYW1vdW50IG9mIHNwYWNlIGZvciBhIHJlY29yZCBv ZiBnaXZlbiBzaXplIGZyb20gdGhlIFdBTC4KICAqICpTdGFydFBvcyBpcyBzZXQgdG8gdGhlIGJl Z2lubmluZyBvZiB0aGUgcmVzZXJ2ZWQgc2VjdGlvbiwgKkVuZFBvcyB0bwpAQCAtMTExMiw2ICsx MTYxLDEwIEBAIFJlc2VydmVYTG9nSW5zZXJ0TG9jYXRpb24oaW50IHNpemUsIFhMb2dSZWNQdHIg KlN0YXJ0UG9zLCBYTG9nUmVjUHRyICpFbmRQb3MsCiAJdWludDY0CQlzdGFydGJ5dGVwb3M7CiAJ dWludDY0CQllbmRieXRlcG9zOwogCXVpbnQ2NAkJcHJldmJ5dGVwb3M7CisJVGltZXN0YW1wVHoJ b3JneGFjdHRpbWUgPSAwOworCisJaWYgKHhsY29tbWl0cmVjKQorCQlvcmd4YWN0dGltZSA9IHhs Y29tbWl0cmVjLT54YWN0X3RpbWU7CiAKIAlzaXplID0gTUFYQUxJR04oc2l6ZSk7CiAKQEAgLTEx MjcsMjEgKzExODAsNTYgQEAgUmVzZXJ2ZVhMb2dJbnNlcnRMb2NhdGlvbihpbnQgc2l6ZSwgWExv Z1JlY1B0ciAqU3RhcnRQb3MsIFhMb2dSZWNQdHIgKkVuZFBvcywKIAkgKiBwb3NpdGlvbnMgKFhM b2dSZWNQdHJzKSBjYW4gYmUgZG9uZSBvdXRzaWRlIHRoZSBsb2NrZWQgcmVnaW9uLCBhbmQKIAkg KiBiZWNhdXNlIHRoZSB1c2FibGUgYnl0ZSBwb3NpdGlvbiBkb2Vzbid0IGluY2x1ZGUgYW55IGhl YWRlcnMsIHJlc2VydmluZwogCSAqIFggYnl0ZXMgZnJvbSBXQUwgaXMgYWxtb3N0IGFzIHNpbXBs ZSBhcyAiQ3VyckJ5dGVQb3MgKz0gWCIuCisJICoKKwkgKiBOb3RlIHRoYXQgZm9yIHRoZSBjb21t aXQgcmVjb3JkLCB3ZSBuZWVkIHRvIGVuc3VyZSB0aGF0IHRoZSBjb21taXQKKwkgKiB0aW1lc3Rh bXAgaXMgbW9ub3RvbmljYWxseSBpbmNyZWFzZWQgaW4gdGhlIGNvbW1pdC1MU04gb3JkZXIgdG8g YXZvaWQKKwkgKiBpbmNvbnNpc3RlbmN5IGJldHdlZW4gdGhlIHR3by4KIAkgKi8KLQlTcGluTG9j a0FjcXVpcmUoJkluc2VydC0+aW5zZXJ0cG9zX2xjayk7CisJaWYgKHhsY29tbWl0cmVjKQorCXsK KwkJU3BpbkxvY2tBY3F1aXJlKCZJbnNlcnQtPmluc2VydHBvc19sY2spOwogCi0Jc3RhcnRieXRl cG9zID0gSW5zZXJ0LT5DdXJyQnl0ZVBvczsKLQllbmRieXRlcG9zID0gc3RhcnRieXRlcG9zICsg c2l6ZTsKLQlwcmV2Ynl0ZXBvcyA9IEluc2VydC0+UHJldkJ5dGVQb3M7Ci0JSW5zZXJ0LT5DdXJy Qnl0ZVBvcyA9IGVuZGJ5dGVwb3M7Ci0JSW5zZXJ0LT5QcmV2Qnl0ZVBvcyA9IHN0YXJ0Ynl0ZXBv czsKKwkJLyoKKwkJICogVGhpcyBpcyBhIGxvY2FsIHRyYW5zYWN0aW9uLiBNYWtlIHN1cmUgdGhh dCB0aGUgeGFjdF90aW1lIGhpZ2hlcgorCQkgKiB0aGFuIGFueSB0aW1lc3RhbXAgd2UgaGF2ZSBz ZWVuIHRodXMgZmFyLgorCQkgKi8KKwkJaWYgKHVubGlrZWx5KFhMb2dDdGwtPmxhc3RYYWN0U3Rv cFRpbWUgPj0geGxjb21taXRyZWMtPnhhY3RfdGltZSkpCisJCXsKKwkJCVhMb2dDdGwtPmxhc3RY YWN0U3RvcFRpbWUrKzsKKwkJCXhsY29tbWl0cmVjLT54YWN0X3RpbWUgPSBYTG9nQ3RsLT5sYXN0 WGFjdFN0b3BUaW1lOworCQkJeGFjdFN0b3BUaW1lc3RhbXAgPSBYTG9nQ3RsLT5sYXN0WGFjdFN0 b3BUaW1lOworCQl9CisJCWVsc2UKKwkJCVhMb2dDdGwtPmxhc3RYYWN0U3RvcFRpbWUgPSB4bGNv bW1pdHJlYy0+eGFjdF90aW1lOwogCi0JU3BpbkxvY2tSZWxlYXNlKCZJbnNlcnQtPmluc2VydHBv c19sY2spOworCQlzdGFydGJ5dGVwb3MgPSBJbnNlcnQtPkN1cnJCeXRlUG9zOworCQllbmRieXRl cG9zID0gc3RhcnRieXRlcG9zICsgc2l6ZTsKKwkJcHJldmJ5dGVwb3MgPSBJbnNlcnQtPlByZXZC eXRlUG9zOworCQlJbnNlcnQtPkN1cnJCeXRlUG9zID0gZW5kYnl0ZXBvczsKKwkJSW5zZXJ0LT5Q cmV2Qnl0ZVBvcyA9IHN0YXJ0Ynl0ZXBvczsKKworCQlTcGluTG9ja1JlbGVhc2UoJkluc2VydC0+ aW5zZXJ0cG9zX2xjayk7CisJfQorCWVsc2UKKwl7CisJCVNwaW5Mb2NrQWNxdWlyZSgmSW5zZXJ0 LT5pbnNlcnRwb3NfbGNrKTsKKworCQlzdGFydGJ5dGVwb3MgPSBJbnNlcnQtPkN1cnJCeXRlUG9z OworCQllbmRieXRlcG9zID0gc3RhcnRieXRlcG9zICsgc2l6ZTsKKwkJcHJldmJ5dGVwb3MgPSBJ bnNlcnQtPlByZXZCeXRlUG9zOworCQlJbnNlcnQtPkN1cnJCeXRlUG9zID0gZW5kYnl0ZXBvczsK KwkJSW5zZXJ0LT5QcmV2Qnl0ZVBvcyA9IHN0YXJ0Ynl0ZXBvczsKKworCQlTcGluTG9ja1JlbGVh c2UoJkluc2VydC0+aW5zZXJ0cG9zX2xjayk7CisJfQogCiAJKlN0YXJ0UG9zID0gWExvZ0J5dGVQ b3NUb1JlY1B0cihzdGFydGJ5dGVwb3MpOwogCSpFbmRQb3MgPSBYTG9nQnl0ZVBvc1RvRW5kUmVj UHRyKGVuZGJ5dGVwb3MpOwogCSpQcmV2UHRyID0gWExvZ0J5dGVQb3NUb1JlY1B0cihwcmV2Ynl0 ZXBvcyk7CiAKKwlpZiAoeGxjb21taXRyZWMgJiYgb3JneGFjdHRpbWUgIT0geGxjb21taXRyZWMt PnhhY3RfdGltZSkKKwkJWGxvZ1JlY29yZE1vZGlmaWVkID0gdHJ1ZTsKKwogCS8qCiAJICogQ2hl Y2sgdGhhdCB0aGUgY29udmVyc2lvbnMgYmV0d2VlbiAidXNhYmxlIGJ5dGUgcG9zaXRpb25zIiBh bmQKIAkgKiBYTG9nUmVjUHRycyB3b3JrIGNvbnNpc3RlbnRseSBpbiBib3RoIGRpcmVjdGlvbnMu CkBAIC0xMTcwLDEyICsxMjU4LDIwIEBAIFJlc2VydmVYTG9nU3dpdGNoKFhMb2dSZWNQdHIgKlN0 YXJ0UG9zLCBYTG9nUmVjUHRyICpFbmRQb3MsIFhMb2dSZWNQdHIgKlByZXZQdHIpCiAJdWludDMy CQlzaXplID0gTUFYQUxJR04oU2l6ZU9mWExvZ1JlY29yZCk7CiAJWExvZ1JlY1B0cglwdHI7CiAJ dWludDMyCQlzZWdsZWZ0OworCVRpbWVzdGFtcFR6CW9yZ3hhY3R0aW1lID0gMDsKKworCWlmICh4 bGNvbW1pdHJlYykKKwkJb3JneGFjdHRpbWUgPSB4bGNvbW1pdHJlYy0+eGFjdF90aW1lOwogCiAJ LyoKIAkgKiBUaGVzZSBjYWxjdWxhdGlvbnMgYXJlIGEgYml0IGhlYXZ5LXdlaWdodCB0byBiZSBk b25lIHdoaWxlIGhvbGRpbmcgYQogCSAqIHNwaW5sb2NrLCBidXQgc2luY2Ugd2UncmUgaG9sZGlu ZyBhbGwgdGhlIFdBTCBpbnNlcnRpb24gbG9ja3MsIHRoZXJlCiAJICogYXJlIG5vIG90aGVyIGlu c2VydGVycyBjb21wZXRpbmcgZm9yIGl0LiBHZXRYTG9nSW5zZXJ0UmVjUHRyKCkgZG9lcwogCSAq IGNvbXBldGUgZm9yIGl0LCBidXQgdGhhdCdzIG5vdCBjYWxsZWQgdmVyeSBmcmVxdWVudGx5Lgor CSAqCisJICogTm90ZSB0aGF0IGZvciB0aGUgY29tbWl0IHJlY29yZCwgd2UgbmVlZCB0byBlbnN1 cmUgdGhhdCB0aGUgY29tbWl0CisJICogdGltZXN0YW1wIGlzIG1vbm90b25pY2FsbHkgaW5jcmVh c2VkIGluIHRoZSBjb21taXQtTFNOIG9yZGVyIHRvIGF2b2lkCisJICogaW5jb25zaXN0ZW5jeSBi ZXR3ZWVuIHRoZSB0d28uCiAJICovCiAJU3BpbkxvY2tBY3F1aXJlKCZJbnNlcnQtPmluc2VydHBv c19sY2spOwogCkBAIC0xMTg5LDYgKzEyODUsMjIgQEAgUmVzZXJ2ZVhMb2dTd2l0Y2goWExvZ1Jl Y1B0ciAqU3RhcnRQb3MsIFhMb2dSZWNQdHIgKkVuZFBvcywgWExvZ1JlY1B0ciAqUHJldlB0cikK IAkJcmV0dXJuIGZhbHNlOwogCX0KIAorCWlmICh4bGNvbW1pdHJlYykKKwl7CisJCS8qCisJCSAq IFRoaXMgaXMgYSBsb2NhbCB0cmFuc2FjdGlvbi4gTWFrZSBzdXJlIHRoYXQgdGhlIHhhY3RfdGlt ZSBoaWdoZXIKKwkJICogdGhhbiBhbnkgdGltZXN0YW1wIHdlIGhhdmUgc2VlbiB0aHVzIGZhci4K KwkJICovCisJCWlmICh1bmxpa2VseShYTG9nQ3RsLT5sYXN0WGFjdFN0b3BUaW1lID49IHhsY29t bWl0cmVjLT54YWN0X3RpbWUpKQorCQl7CisJCQlYTG9nQ3RsLT5sYXN0WGFjdFN0b3BUaW1lKys7 CisJCQl4bGNvbW1pdHJlYy0+eGFjdF90aW1lID0gWExvZ0N0bC0+bGFzdFhhY3RTdG9wVGltZTsK KwkJCXhhY3RTdG9wVGltZXN0YW1wID0gWExvZ0N0bC0+bGFzdFhhY3RTdG9wVGltZTsKKwkJfQor CQllbHNlCisJCQlYTG9nQ3RsLT5sYXN0WGFjdFN0b3BUaW1lID0geGxjb21taXRyZWMtPnhhY3Rf dGltZTsKKwl9CisKIAllbmRieXRlcG9zID0gc3RhcnRieXRlcG9zICsgc2l6ZTsKIAlwcmV2Ynl0 ZXBvcyA9IEluc2VydC0+UHJldkJ5dGVQb3M7CiAKQEAgLTEyMDksNiArMTMyMSw5IEBAIFJlc2Vy dmVYTG9nU3dpdGNoKFhMb2dSZWNQdHIgKlN0YXJ0UG9zLCBYTG9nUmVjUHRyICpFbmRQb3MsIFhM b2dSZWNQdHIgKlByZXZQdHIpCiAKIAkqUHJldlB0ciA9IFhMb2dCeXRlUG9zVG9SZWNQdHIocHJl dmJ5dGVwb3MpOwogCisJaWYgKHhsY29tbWl0cmVjICYmIG9yZ3hhY3R0aW1lICE9IHhsY29tbWl0 cmVjLT54YWN0X3RpbWUpCisJCVhsb2dSZWNvcmRNb2RpZmllZCA9IHRydWU7CisKIAlBc3NlcnQo WExvZ1NlZ21lbnRPZmZzZXQoKkVuZFBvcywgd2FsX3NlZ21lbnRfc2l6ZSkgPT0gMCk7CiAJQXNz ZXJ0KFhMb2dSZWNQdHJUb0J5dGVQb3MoKkVuZFBvcykgPT0gZW5kYnl0ZXBvcyk7CiAJQXNzZXJ0 KFhMb2dSZWNQdHJUb0J5dGVQb3MoKlN0YXJ0UG9zKSA9PSBzdGFydGJ5dGVwb3MpOwpkaWZmIC0t Z2l0IGEvc3JjL2luY2x1ZGUvYWNjZXNzL3hhY3QuaCBiL3NyYy9pbmNsdWRlL2FjY2Vzcy94YWN0 LmgKaW5kZXggZmI2NGQ3NDEzYS4uNDNlNGI1YWExOCAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUv YWNjZXNzL3hhY3QuaAorKysgYi9zcmMvaW5jbHVkZS9hY2Nlc3MveGFjdC5oCkBAIC00MzEsNiAr NDMxLDggQEAgdHlwZWRlZiBzdHJ1Y3QgeGxfeGFjdF9wYXJzZWRfYWJvcnQKIAlUaW1lc3RhbXBU eiBvcmlnaW5fdGltZXN0YW1wOwogfSB4bF94YWN0X3BhcnNlZF9hYm9ydDsKIAorZXh0ZXJuIFBH RExMSU1QT1JUIHhsX3hhY3RfY29tbWl0ICp4bGNvbW1pdHJlYzsKK2V4dGVybiBQR0RMTElNUE9S VCBUaW1lc3RhbXBUeiB4YWN0U3RvcFRpbWVzdGFtcDsKIAogLyogLS0tLS0tLS0tLS0tLS0tLQog ICoJCWV4dGVybiBkZWZpbml0aW9ucwotLSAKMi4zMC4wLndpbmRvd3MuMgoK --_002_OS0PR01MB57162A227EC357482FEB4470945D2OS0PR01MB5716jpnp_--