From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.openvz.org (unknown [69.168.225.77]) by lore.virtuozzo.com (Postfix) with ESMTPS id F3B38802A5 for ; Sun, 11 Oct 2026 22:39:31 +0000 (UTC) Received: from mail.openvz.org (localhost [127.0.0.1]) by mail.openvz.org (8.14.4/8.14.4) with ESMTP id 69BMcDHg009220; Mon, 12 Oct 2026 01:38:14 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 69BMcDHg009220 Authentication-Results: mail.openvz.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=virtuozzo.com header.i=@virtuozzo.com header.b="PMjBIxUO" Received: from mail-yx1-f69.google.com (mail-yx1-f69.google.com [74.125.224.69]) by mail.openvz.org (8.14.4/8.14.4) with ESMTP id 69BMcBi6009216 (version=TLSv1/SSLv3 cipher=AES128-GCM-SHA256 bits=128 verify=FAIL) for ; Mon, 12 Oct 2026 01:38:12 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 69BMcBi6009216 Received: by mail-yx1-f69.google.com with SMTP id 956f58d0204a3-677c2db10b1so3719315d50.1 for ; Sun, 11 Oct 2026 15:38:12 -0700 (PDT) X-Gm-Message-State: AFq9FYJcU9c1pg38FU6s1PEi/teHfKPKTXkrmsNcPIzIDeEQLJU+2ZA2 Bmt3KJXRXqwo2pR4nPTUml0tEAG76/s2vMD3UztQAdl2huDR/dXjyw1gpwbtyKLgNmqjWier8dP UEXqKpvh6l5Od/dz9Wg7EuPAUYgnnPc2sQV+KZDvLXZ4GW0pQbSub1A== X-Gm-Gg: AYBFou1G0vrnKxrfwM1TCZ0EIPUuhFz6sVmFu2YrzTx06py4L158EfbtB5yXSoB5Lj7 wZwdIhwrnFhGPuo3dyw3w20Pi1mi1AhFPHtYyukWKRy5xfyHODCF8SRIWhwZav9jsFA5zIVIH+J 8jHZMEC2SrPubgNm8GTfyAJQfwnZRwSq5riMFLL5yfiPUbzebcAi3cH5Jhnr5KBhBmZDkiX3SsF UG/DYSl5CtEzuEpjDPIngnpi5OfPaynuq8mm1za+Uk5KWL48B9SJnjyzGlESecTz3DNoa9QjIqR dAOlv0URIubRecOrnfwMiOMUV9gJSXnermSi1IwIPY0L2tItjlZDKXpHc/sQzgdN4GrNEboG0eH TjxHq0qqF4YQxryCn71emPDivwA6vpk4Qq8aeFm5vt+EKd+9zdwU6cfjKUYxn+wq49D/+Eie/Of fC/rRUdWhGx2C/F3fRJlwzRqhmetfUItXfyGE= X-Received: by 2002:a05:690e:4146:b0:677:d21f:b63f with SMTP id 956f58d0204a3-6793603f7e1mr2060579d50.49.1791758291202; Sun, 11 Oct 2026 15:38:11 -0700 (PDT) X-Received: by 2002:a05:690e:4146:b0:677:d21f:b63f with SMTP id 956f58d0204a3-6793603f7e1mr2060573d50.49.1791758290669; Sun, 11 Oct 2026 15:38:10 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1791758290; cv=pass; d=google.com; s=arc-20260327; b=MH2jLcXhdpQhnMDTpmKbQkZyRgrxLi1PhmgLZ+8qLucYBZ+9FJ8CWb3cKfLWA7uARD IrKRzNwaXCAKdIjIHu4UKzs3h34fCQrfm6ZH/7GnSaZuahTAukyYcVWVjGAYSYHOPeDp 6fxP5d7RewGKkrxsbrOckw/stIvhppywUBguDtj5aO5l71/w/PWMiSDLXn1R1sKYeklJ jRtqW1TBDzcIdApbsiinGOhK7F1WZHk+VjCtS5nt1zT0t0mI/6m79aPT5vri8XxJVkzA 2UYtwFafarYukVxOTlJVO11YfyXkLshikhrssGdxr49FduVOndkNnh5ceGWD4cTMuoj7 lLEQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=mime-version:content-transfer-encoding:in-reply-to:from :content-language:references:cc:to:subject:user-agent:date :message-id:dkim-signature; bh=j+eXl96NPiR5jpf9K6tV1kg+g3PP01J3AsoxPtDxrpw=; fh=+vbNSpj0GpGgYJpyor+FvZa/QKUyHdgniVZdl954fIY=; b=pH/aZGXWn5pCBVMEzn1BR0GcB2LRItQMjs2vg0BFI/uyd0tIRJ6os21of2crtfiSYy 6gK1JHUQKjYvavMAJLdSCd3fPyr4isNPqKR/yGij8Gdk1msW4lv8K5/zmVjG8syBgQNs OFdYIbFYf2msYbXK4T0moYvPr/PrM+OYWU5G3bR8aL8wiWcfPZIN6G+BungwXPf4pdA0 TiwxRcR/1wiwzjZJxn9pxnvT/NEvIACG9xFek2UhK0cfX7Xs8XBFxt+bdbJfOnsvj+HI Y5nwSYZBQ0I9DhUkXyC8Y39P98K0LB3LydbzVbrpoDBKipO813bwXkrbbHHg4nmQfIeF jy/g==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@virtuozzo.com header.s=selector2 header.b=PMjBIxUO; arc=pass (i=1 spf=pass spfdomain=virtuozzo.com dkim=pass dkdomain=virtuozzo.com dmarc=pass fromdomain=virtuozzo.com); spf=pass (google.com: domain of vladimir.riabchun@virtuozzo.com designates 2a01:111:f403:c20a::7 as permitted sender) smtp.mailfrom=vladimir.riabchun@virtuozzo.com; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=virtuozzo.com Received: from PA4PR04CU001.outbound.protection.outlook.com (mail-francecentralazlp170130007.outbound.protection.outlook.com. [2a01:111:f403:c20a::7]) by mx.google.com with ESMTPS id 956f58d0204a3-679356da254si3574753d50.241.2026.10.11.15.38.10 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 11 Oct 2026 15:38:10 -0700 (PDT) Received-SPF: pass (google.com: domain of vladimir.riabchun@virtuozzo.com designates 2a01:111:f403:c20a::7 as permitted sender) client-ip=2a01:111:f403:c20a::7; Authentication-Results: mx.google.com; dkim=pass header.i=@virtuozzo.com header.s=selector2 header.b=PMjBIxUO; arc=pass (i=1 spf=pass spfdomain=virtuozzo.com dkim=pass dkdomain=virtuozzo.com dmarc=pass fromdomain=virtuozzo.com); spf=pass (google.com: domain of vladimir.riabchun@virtuozzo.com designates 2a01:111:f403:c20a::7 as permitted sender) smtp.mailfrom=vladimir.riabchun@virtuozzo.com; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=virtuozzo.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=FQDYPV8Zy+0UuH/c0ASFr8JcCIaJ3v3lN+Gi3y5ZdtZZqUq858VZ/jffttVLzpDVzSOgsB8pZ+Ru3ZX9LVV118/Lua6UobVz8jNBt4lWBXPicscEgcum+gumsYHuVTV/NF8dQw+4iMgSLry1/8gjCIPJXLlWz5N3n5/QV8rG8qEQKaQ+DrmJUdSIqPNLsdrebWqOuFg7p2Y22boFUX3aMAdsl3UpdC7y6Cw/X6PL+9skh7mosdnFGXJr1lil12WU5oUh6mLBQsExyLux3/AAYEsfyGoITneE7tqdN8nALpOvvzGXHHiRW2a2HXfgxYNh1k4tBOC0uotEbsVs8csDJQ== 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=j+eXl96NPiR5jpf9K6tV1kg+g3PP01J3AsoxPtDxrpw=; b=iYx7Npv8XS+tqZ+zNOuITJuFEdUEP5wQGFstJaMHpj1rzJ6Lu3Z8JVKSd6b0FL0++BPpLIoUW6pCIqvcfBHiyFL6i/UItzj/EWy5bXLK1XBHEpNDIkju71uHo1P7j1G0CgGjiXy/XdSMavdosq5AGWqkxsN4hK2l8wSKcM12J3cax+FoNmUklTXTMw29/I34JInPRvsdOzE8p0rV42tcd2ZnpRiO0YMWm/iePz+imt0uiVHgwLD2dNFLZoZcjIquZs7+H1o2bTIScV3TUFfoZFoqW2oQpvup6b91XZOmdvu55B3Ys8jAS0/bQuDrQXmoZ+RWdXMQoRo2QoosO2SZTA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=virtuozzo.com; dmarc=pass action=none header.from=virtuozzo.com; dkim=pass header.d=virtuozzo.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=virtuozzo.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=j+eXl96NPiR5jpf9K6tV1kg+g3PP01J3AsoxPtDxrpw=; b=PMjBIxUOwOUQabShaJjM2eemA5RW1vhbCxtme5DTpGO/CSoSssd6FlrkJYQjmE1EEuFCD+gEkm8dtLaqYhtQarT/HD0P6lCu01h83PVcmGexGW1FnJGQu7lCySJkY8VU08Wd96OPDuDet21A+86egv3zqXL90eNhF8fvkC1SzWpSX66ghz9ivKiJX/tIup5zpIpK6vmFwJHdEoi30k7+rpxIdFdHPV3T5V63cAfwJaaudjPtjgj7aIqEun4IbMR4lFsxXa+HFk1/hOom9xWGqLMyS35wT+rPqoIFj7cFm3UVv4iD8HPa0Lnyd6aNmQIZL4YkFmKzBOPuXh3aoL5L5Q== Authentication-Results: mx.microsoft.com 1; dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=virtuozzo.com; Received: from DB3PR08MB8962.eurprd08.prod.outlook.com (2603:10a6:10:43f::15) by PAXPR08MB7599.eurprd08.prod.outlook.com (2603:10a6:102:23e::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.522.11; Sun, 11 Oct 2026 22:38:07 +0000 Received: from DB3PR08MB8962.eurprd08.prod.outlook.com ([fe80::da44:b0e3:f6ad:8f8c]) by DB3PR08MB8962.eurprd08.prod.outlook.com ([fe80::da44:b0e3:f6ad:8f8c%4]) with mapi id 15.21.0496.010; Sun, 11 Oct 2026 22:38:07 +0000 Message-ID: Date: Mon, 12 Oct 2026 00:38:05 +0200 User-Agent: Mozilla Thunderbird To: Konstantin Khorenko , vasileios.almpanis@virtuozzo.com References: <20261006-ve-printk-irq-v2-0-db1dc4f6ed07@virtuozzo.com> <20261006-ve-printk-irq-v2-4-db1dc4f6ed07@virtuozzo.com> <010701a1133ed4d3-9850f1f4-78ad-40eb-835b-ba115547aecc-000000@eu-central-1.amazonses.com> Content-Language: en-US From: Vladimir Riabchun In-Reply-To: <010701a1133ed4d3-9850f1f4-78ad-40eb-835b-ba115547aecc-000000@eu-central-1.amazonses.com> X-ClientProxiedBy: FR5P281CA0005.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:f2::18) To DB3PR08MB8962.eurprd08.prod.outlook.com (2603:10a6:10:43f::15) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DB3PR08MB8962:EE_|PAXPR08MB7599:EE_ X-MS-Office365-Filtering-Correlation-Id: 5af44770-44f4-462d-599a-08df27e851d2 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|376014|23010399003|1800799024|366016|56012099006|4143699003|261009223027099003|10067099003|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: Naqel6oQEAIShAQRX/0rIdSkuuHBqiUs2wpHy8YA+8wfNo76GNl2v8P2ncxwiO9brBV0Ehxz/+V2XWRZpiUwhthIwkBMLBGhh/k0i+9TzsDAa+kIEix8UIHmz30u5FOTEBe6kquQZQ32psuxzQ9fDNiCZUgO0mbDGvrIo+F9VUZrY7ORcmoSEjHMJAaK7F2qglI/BxqqWaT0eBHPn+yKtItYmb9/qfiHCh1XhuGtBA4PbQcwfJoZKZWFqy7a3as0mBlQSac5PB0eCWhG5Kx8CzhOAFUsDBjui+kyfkMzvReQsbxNmRYp61EPwY2Tj288NpCzD+IcrciuXd33lzbPqLQX3QL1+2kZkDOhzPRN3lQc10X0bhorX3NhM0mxP5HRC0fovBxhYlQJwcLx8L6igQSmDUqb9M7EN4fgt5iR6ARy0bvAdWhe7DHWLnj2g+fIMf/XpiumuiGmFYRFJ6dpUhW8dubz0N3QAl5Jh8chpqyCRc7ER1clout+SoLmIh5VqN9WtFL7mtafzg4rvmGrYaGDZURhviINVl7EUqGuBCJ8XJweL5uadFIr1D7ZRLY//sE8pbMSWuR4O/w+yvxhzELjYmjh+VcKr0a61Uj9Li4K2n5QwGCMHMaaZ8TCZlM9nA/CPeDfqCtbj+FyesDNLHLTwP3jBA9CeRh0QeM4JCs= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB3PR08MB8962.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(376014)(23010399003)(1800799024)(366016)(56012099006)(4143699003)(261009223027099003)(10067099003)(18002099003)(22082099003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?WFdjandKZ1dvMGxQczZncEovaXI2c1RTbnZ4LzJmSm83dVhxYStaU3NBM1dq?= =?utf-8?B?b1IveVVSQWN0dUVzQnFBT1IwNWYweStEeDJEd3VZRVNQNVJ1ZTVCb1luT2J4?= =?utf-8?B?VXIxK0ZaM1VmM095UFpqNE1wUU1CTzNNd2M2OFU3T3Z3YzJjWVp0WkRqMGNp?= =?utf-8?B?QUJOSzdSNHoxeGFDZVVwZHBiOWE2UFNJdStPblZveFFJVEczaElXY2FVZFVp?= =?utf-8?B?ZTNYY3hsK1hTWWs4d3NkK2dnM1VnZlFmcmR3T1grZ1VpWTlRMVQ2M01oTHZu?= =?utf-8?B?MHdoM3dQNjJpU3F6RDQ3Y2ZramlLY2xvaXQxZXV0MkJhVzRwU0N1RVVpSXZh?= =?utf-8?B?ejB5WFhvRThzd2gwQ29mNGFEWE1uSGVZLzRsSFUwRFpQN3M0bmR5SnVzZzB1?= =?utf-8?B?NUoyRHFSZHUrc1MzNVNETGZnS2JQM3lXTGtGd0tOWVpyZDJ0eGxocmE4SC9K?= =?utf-8?B?MWVnUzI1SjlYWHpieGMxRndNUFFsZkM0M3I2QWxncjVhZjdxZ0pYQ1JjREhS?= =?utf-8?B?T1VmMDNCcTVacjIwN3FkRGVaOUpaS1JtL1M5Zm9KQ2pEVjlJQSt0Ry9oRTRS?= =?utf-8?B?YWRmUzJuVVZVeE8zajdEQlk2T0JyWnp0aFp3bHJnWTh5d0YrRkdqZHUxbkNE?= =?utf-8?B?TUNoZnNVUHNwZEpBLy9MMjc1NzFTMlUwN21JQ253djB4RDVORm9DeHFpNW1y?= =?utf-8?B?MHJNeXJBVnBHblplaDV1bWtYQWQyV1RXY1k4OGlucFIyMExLTUNXZ0hjNDdz?= =?utf-8?B?M0NEZGE3YWZSMzBudHYxa00zQVZMdUFsaTlrR0dpRHpoc3gwNHBVdE9DV0gv?= =?utf-8?B?Z2h1WVZHb1dwWjVSaHc4cERSWHkzZkFxMlhXVUh6TnlqRnBWbWI5NGdXbW5V?= =?utf-8?B?aVpldTJDcTBLMTNYMWlLVWhWMzdZZmozV3MxTGJCaFkxdHpkaWhuTDRDSHhu?= =?utf-8?B?c1c1WldUT053NlJjbDlKejc3V0l6dU1DKytrazRKWTA4b0k0THVNaEVFODhB?= =?utf-8?B?RmdiZVkvUVZKSEl5eStXWDlzYjhJRGJpMTcwTElJK3BRUkhuY1dMOHZXQW56?= =?utf-8?B?T0N0eXRuWlBGNzkrWENoNHdzUWhva0wzN2p4eVhGbVo5c0N2Z0pabWdoeDdu?= =?utf-8?B?MVVnZ2xLeHRrRjdzRXo0MHNSK0xLT0kva3k4dWVTNm1MOWNSTGFnOFRpUWgz?= =?utf-8?B?S2pPbDVFN3RmL2lzWk1IM3p5Um5ibXYyZk55QS9IeG9rZk5BVGdTdm9UU3Ju?= =?utf-8?B?UUs0MUNSZW90WnBZM3E4UmxBZDFlMmQ0bnJPbDJpK2M5VUtYVy9ITnRTbDdJ?= =?utf-8?B?TVpSbmZLM1JaUmNVQm9IZFdKYUkwalFtQjQ5c3M4RDJLTzZaemRsdThvNER3?= =?utf-8?B?Y3FwRitsTHJwd0Y0eUoyWkJnR3hqZVRBWHJGaXpIaG9GSGltQzcwWDRPZ3c4?= =?utf-8?B?ZkRMTFFpNFhoSTBlQ0NQcmRnZ3V6K0ZqNjIyRDBBQTdXSkNrV0VPTjlnL3N3?= =?utf-8?B?QmVRN1NWckJRZk9hTzVpWVQwbldSaG83UzcxSUQzZ2xVNVVMSzY4REpGSXdX?= =?utf-8?B?aUJyUE9ucmFuYmFqOWJzaUVweml4TURFV0VxNDNHNEZZWGxROFhvbFlyMEdE?= =?utf-8?B?VmJxK1JLcHZ1c1pYZ1NvMTlmNnJnWFFMc01ONzZJc3UyNlVrc3BEQWZLSjha?= =?utf-8?B?WDVMa0Y5MkxyZVZxSDIxQnorMFQ5a1o2R2hncG9GZ3dZQ3YwWGxrdkx6ODJm?= =?utf-8?B?NTlTVy9YK1FEME9LckZrUThQY3Y4dWI5RnZtVmtNVXlHTDFzb0hMVmt0dmxa?= =?utf-8?B?UG9vTTZUeXZ5dUlsZWhBWUZaOGJrTXBZZFB5cmJKKzNLOXlPUGI5b1h6WDJG?= =?utf-8?B?S1B1M0NBY2o4d3l6anR0a2V0REFrblFCaEVlU0N3RkJSMit6bGczNU5EVzZL?= =?utf-8?B?cTQ5WSt5ZzN1V2oxQ1JyMzJmTlU0bStLd1V4eDYwSnM2Rk1FL1R2MGgxbVZX?= =?utf-8?B?dnEwakpWUUZwT2JVc3JWQW9UTU1NQUpwVnhwcGNLMFVKcGFyQ2FteThyVXl2?= =?utf-8?B?S0FxK1FhYWJ1YmpYdW1KSC9LeGsyVTZWWjhnUWZOQm1hL1VVeFZoQ3FkNlNl?= =?utf-8?B?Wm96STB5eDhyNkJtTnQwWWxZaXp6M0RvUFB4S2gxMzhBVXcva0Q0MEEvUU1M?= =?utf-8?B?YkcreHhMTGN4eGcrRmFtUHdJUjNHTnROWjRoQUJ3UXpOYjR3MHcwZjE3WjM5?= =?utf-8?B?c2dFNHRDemtFVEhjZklSRkxlc3lHSU9xeE90UXFHVGlYSGdiVW0yRDF4Z21R?= =?utf-8?B?MGNBYjVXRzIrNldRQWxxVk42QWhEdzhqWkw5Z1JhMGRZMytvY2xaVXJLSGs1?= =?utf-8?Q?a185Q79sJGnPleWg=3D?= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5af44770-44f4-462d-599a-08df27e851d2 X-MS-Exchange-CrossTenant-AuthSource: DB3PR08MB8962.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Oct 2026 22:38:07.0086 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: BvF81S+Otc+Xo4xBDh92RVYaJsHS3HJeL+33LrLfmM7KTceVRfTNzqw/04ipGEqPNhgzEsCqKoXCeR7BcM7Qp7dlOGCP2pHlLnKDj82gp9I= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR08MB7599 X-OZ-Fwd: true Cc: devel@openvz.org Subject: Re: [Devel] [PATCH hci-8.1 v2 4/6] ve/printk: Fix time virtualization X-BeenThere: devel@openvz.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: OpenVZ development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="us-ascii"; Format="flowed" Sender: devel-bounces@openvz.org Errors-To: devel-bounces@openvz.org On 10/7/26 00:04, no-reply@sashiko.virtuozzo.com wrote: > Thank you for your contribution! Sashiko AI review found 3 potential issue(s) to consider: > - [Medium] printk: time_ns refcount get/put in any-context vprintk_store_log() path > - [Low] printk: boottime shift baked in at store time leaves early records unshifted > - [Low] printk: init_log_state references ve0 without a CONFIG_VE guard > -- > > commit 5c30ca9d767fcbace4f34b24a8dcf1364e21ebb6 > Author: Vladimir Riabchun > > ve/printk: Fix time virtualization > > This patch moves the container boottime shift from print time (where > get_exec_env() was used) to message store time in vprintk_store_log(). > The shift now uses the owning VE of the log_state, so IRQ printks no > longer pick up the wrong container's offsets. > > Link: https://virtuozzo.atlassian.net/browse/VSTOR-146839 > >> diff --git a/kernel/printk/internal.h b/kernel/printk/internal.h >> --- a/kernel/printk/internal.h >> +++ b/kernel/printk/internal.h > > [ ... ] > >> +#define GET_VE_LOG(ve) ((struct log_state *) ve->log_state) >> + > > [Severity: Low] > This isn't a bug, but GET_VE_LOG() is not used anywhere in kernel/printk, > and it does not parenthesize its argument, so GET_VE_LOG(a + b) would > expand to a + b->log_state. Is the macro needed in this patch? True, missed it. Will remove in v3. > >> diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c >> --- a/kernel/printk/printk.c >> +++ b/kernel/printk/printk.c > > [ ... ] > >> @@ -534,6 +534,7 @@ struct log_state init_log_state = { >> .val[1] = 0, >> }, >> .prb = &printk_rb_static, >> + .owner_ve = &ve0, >> }; > > [Severity: Low] > Will this build when CONFIG_PRINTK=y and CONFIG_VE=n? The declaration > extern struct ve_struct ve0; in include/linux/ve_proto.h is inside > #ifdef CONFIG_VE, and the !CONFIG_VE branch only provides the get_ve0() > stub. > > Other VE-specific code in this file is guarded by #ifdef CONFIG_VE, so > should the .owner_ve initializer be guarded in the same way? Eh, will fix in v3. > > [ ... ] > >> -static inline u64 ve_timens_add_boottime_ns(u64 nsec) >> +static inline u64 ve_timens_add_boottime_ns(u64 nsec, struct ve_struct *ve) >> { >> struct time_namespace *ve_time_ns; >> struct timens_offsets *ns_offsets; >> >> - ve_time_ns = ve_get_time_ns(get_exec_env()); >> + ve_time_ns = ve_get_time_ns(ve); >> if (unlikely(!ve_time_ns)) { >> /* container not yet started */ >> return nsec; > > [ ... ] > >> @@ -2329,6 +2325,7 @@ static int vprintk_store_log(struct log_state *log, int facility, int level, >> * timestamp with respect to the caller. >> */ >> ts_nsec = local_clock(); >> + ts_nsec = ve_timens_add_boottime_ns(ts_nsec, log->owner_ve); > > [Severity: Medium] > Can this take and drop a time_ns reference from a context where the final > put is unsafe? > > vprintk_store_log() runs in the any-context store path, after > printk_enter_irqsave(). It now calls: > > vprintk_store_log() > ve_timens_add_boottime_ns() > ve_get_time_ns() /* get_time_ns() under rcu_read_lock() */ > put_time_ns() > > ve_get_time_ns() holds the reference past the RCU section. Consider the > teardown side in ve_drop_context(): > > rcu_assign_pointer(ve->ve_nsproxy, NULL); > synchronize_rcu(); > put_nsproxy(ve_nsproxy); > > If a printk took its reference before the pointer was cleared, can it end > up holding the last time_ns reference? In that case put_time_ns() would > call free_time_ns() from inside the printk store path, which may be in > hardirq or other atomic context. > > Separately, this adds an RCU lock plus an atomic inc/dec on every printk > record, including host (ve0) records, where it touches init_time_ns. > > Would it be possible to read the offsets under RCU without taking a > reference, cache the boottime offset in log_state, or skip ve0? According to RCU doc: "anything that disables bottom halves, preemption, or interrupts also enters an RCU read-side critical section." ve_timens_add_boottime_ns is called from vprintk_store_log right after printk_enter_irqsave, so synchronize_rcu will wait anyway. Also: ve_exit_ns means that VE is stopped and no tasks are there. But reaching printk with given VE means that either an interrupted task is still in VE or we got it from somewhere like net structure. In any case, this is not a deferred usage, so we can't use stale values there. About performance - I don't think it's a big problem. Dmesg logs are expected to be rare enough, frequent printing is bounded by serial console and may cause stalls. > > [Severity: Low] > Is it intended that records stored while ve->ve_nsproxy is NULL keep the > raw host uptime permanently? > > ve_log_init() runs at css_alloc, but ve_nsproxy is only set later by > ve_grab_context(). Until then ve_get_time_ns() returns NULL and > ve_timens_add_boottime_ns() returns the value unshifted: > > if (unlikely(!ve_time_ns)) { > /* container not yet started */ > return nsec; > } > > Before this patch the shift was applied at read time, so every record > was shifted consistently once the container had started. Now the > container's dmesg can show a mixed timeline, and the raw ts_nsec in the > VE ring buffer differs from what was read before. The commit message does > not mention this change in behavior. Shifting time when printing was not reliable as well, it could happen anytime. The idea of this whole patchset is to avoid printing messages to random containers. We normally can't get a situation when VE is stopped and there are processes inside it(except selftests), so it is not possible to print into stopped VE. > > [ ... ] > -- Best regards, Riabchun Vladimir Linux Kernel Developer, Virtuozzo _______________________________________________ Devel mailing list Devel@openvz.org https://lists.openvz.org/mailman/listinfo/devel