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 93E4F8015D for ; Tue, 15 Sep 2026 16:03:09 +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 68FG1vPJ006105; Tue, 15 Sep 2026 19:01:57 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 68FG1vPJ006105 Authentication-Results: mail.openvz.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=virtuozzo.com header.i=@virtuozzo.com header.b="sHH7Selj" Received: from mail-pf1-f198.google.com (mail-pf1-f198.google.com [209.85.210.198]) by mail.openvz.org (8.14.4/8.14.4) with ESMTP id 68FG1s6Z006101 (version=TLSv1/SSLv3 cipher=AES128-GCM-SHA256 bits=128 verify=FAIL) for ; Tue, 15 Sep 2026 19:01:55 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 68FG1s6Z006101 Received: by mail-pf1-f198.google.com with SMTP id d2e1a72fcca58-854f274dd69so5505163b3a.1 for ; Tue, 15 Sep 2026 09:01:55 -0700 (PDT) X-Gm-Message-State: AFuF++lIvj/+DbE125nC0huNe2gJAzcxSfDqC2If1KMsHXYhWZvrxmjZ k3YaVRhx5Tt2P4eJQkhsB5RBAv58IaQgfxAHutiiX0jogzFoUP9CJO5FBbKZbDvHipWuD0ZYUei qI6THLaXMuhqOlCJFsnG4A7JkGvcSDYk2+UmaLDNJt9uKN4DxL49Gmw== X-Gm-Gg: AYBFou0tUQig4wOLWr4lowbv36WczQ+xmJvnsmRM/WKDfQVombBYpxjh4bzhkCVwaOT REhCDSYo6wuPTFWJWP6MFZzptrlG+kZltnUPfSCpQ9beKKLBCHznKcnI8XhU9KKQCuacS0cNHbh yyyLnHSRofTIml3jm9+OQU1PYLGw8GTf2ZwAM6gj4JHYGvba5KXZFQFtNq70DbDbdR6F5L5UH1j eAFuvXb6HRD+gSRNQktgT52eFDcCs8HVxYdkSq9+re99vuLQwAr5/whpXBRK6AkywrXImi5aoN6 ODsNu/JHiRaAeS0+b7YcfNmT4wBgF2DRP1TbDXj4BZrKA0iSoR3spt6Q0ICdUVD/pjDshClXlk2 I1vgw2dYsGBdrFuN9WHdHV8mbCpgMckJK9TwJpT5uOQGM84rAZ2V8CPH5m1EKRGhNPY8Jdev4S3 w0eS9TdbmycfDgH8A/bA== X-Received: by 2002:a05:6a00:e18:b0:845:31a6:d84d with SMTP id d2e1a72fcca58-8717ead3509mr2717155b3a.7.1789488114425; Tue, 15 Sep 2026 09:01:54 -0700 (PDT) X-Received: by 2002:a05:6a00:e18:b0:845:31a6:d84d with SMTP id d2e1a72fcca58-8717ead3509mr2717078b3a.7.1789488113832; Tue, 15 Sep 2026 09:01:53 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1789488113; cv=pass; d=google.com; s=arc-20260327; b=CkHXeSCPIXVmDQfN9Vpqu0N10foJXy2DpUFoaGMTPPpJ5ykutQYBhDKaf7xB3ZTWky JM5vNou5AHqEWjFjhCUYA0e2FAH3fMmsHz/kcFvQx5ZZRlOkbJiWmgPfTslYSqsBUSFE qstyNCTpD5xB70wgDJvjV3jfzzC7DNPmzET8QoM4PzB3mmTdo2UyjFUBAvjlN4R2Kqyd ps6G4f1MraAsebojPBV5SbowZom73xA7MttveJ6jZaeWMVCogwcPff70bbdOgPBdMkUm sSKSAtji6x9VokP/HRDhiO3/bO/MCz/v3CUIPIxjiNpBUcXSQwYh4u5ywVzHmsQZeEGO j3hw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=mime-version:content-disposition:message-id:subject:to:from:date :dkim-signature; bh=EFbYIVxtU5iFANk0hWxYLxiePCsijRZ/Uso3ch6ADAc=; fh=DHZ2Y/hE6dhVx0UmP7zWEGZ5iFhKn/velJV5CC1BbgU=; b=WUN09++uveVQEHA//38she/YAdP26NkUMz99Y5dQkFPjbaZ8gjg6/HBCJhxuNrzKf2 No/d436DZHP2lQMbdQ+RWGNsx3YAUCCExAM8sQaY2C+cYb/S0LDntvf1R3AmPvwqYBws Xd09mri6pDK95fz/zfB7Lq5R8wHbZTrSqzTJeYQPsmJgRS1UV+8vcM2uACMaXmG6N2hZ Kxi9Kk4GarFFuOfKykWnp07vLUK2n1E8iwnWZG8IxVO91RtO69tSE/LJrXSqI7oDBbZz MFj7egFTW1sXO+1LZk+OA5e2fufHUWXqCpRzOMQH1g4Bh2fRzqWsa9d+TConDEw6BYtc kZmQ==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@virtuozzo.com header.s=selector2 header.b=sHH7Selj; 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 kuznet@virtuozzo.com designates 2a01:111:f403:c200::5 as permitted sender) smtp.mailfrom=kuznet@virtuozzo.com; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=virtuozzo.com Received: from DUZPR83CU001.outbound.protection.outlook.com (mail-northeuropeazlp170120005.outbound.protection.outlook.com. [2a01:111:f403:c200::5]) by mx.google.com with ESMTPS id d2e1a72fcca58-86b29abbf19si23963578b3a.32.2026.09.15.09.01.53 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Sep 2026 09:01:53 -0700 (PDT) Received-SPF: pass (google.com: domain of kuznet@virtuozzo.com designates 2a01:111:f403:c200::5 as permitted sender) client-ip=2a01:111:f403:c200::5; Authentication-Results: mx.google.com; dkim=pass header.i=@virtuozzo.com header.s=selector2 header.b=sHH7Selj; 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 kuznet@virtuozzo.com designates 2a01:111:f403:c200::5 as permitted sender) smtp.mailfrom=kuznet@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=W5636eL9exV/BWKRCeoHiRZ1YVW1+bgYMgTATBbQ+OrcvnPSTiSdE6UnaNgKSMuI9OlKGaSxmAB9RJM8+Jc57pWhGHlMSw3CUUKqUrmyCXszDycBF0mx3OGl9EqtFkIDrsVK/MyeSPrtWDgXClimDSKeTrXcSgWeGzK4eGl8kkqGaSgvO8GQspn7d2LTqchE2U4LFnNU9ZlbU0CgOCQzo6V6yVBnIl5DGuYNd8CagiFTQ7UXSkZpecoD96jpYI91Gp4a0Qgus+ZK3amfCJT3C5U/4ZfdlXlwop9j03E1dbHUqOijHkrPxlEHfgO/ypIqsciDZIj6fa3+f/I5Ups/OQ== 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=EFbYIVxtU5iFANk0hWxYLxiePCsijRZ/Uso3ch6ADAc=; b=Z7xaOhniKZ94NtcIz1LCg7RhQb5+rFOXR2MH2OFIhzvYFH3IkT50f+ejcUm9F77Ef8WkqvxukGwH5XCgjyLJEM2Wu2sGgtpHLQt/QpA5rdNEoF5hz/RNfxCjO+0SPOH5Qy1IOXg9e8l7GnwN3cwbCxROOwhZUovqdgzp9JGFNDAUFpcd3zvB3FiwoKDJsMnaqfI+M78ao6Kdf7imdV1uHXysyPBQDdYFdgyIyy6JfI0Ytt5Zxb5NEKOK7xvAarEWwh8RT3XphzbU52W1cEPIIxN3NRE1hfLRdYyEMjDk9klBKnja2y3HXrpt3n8g2WDlmdF2+zuLiLb8YBWvMsIBvg== 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=EFbYIVxtU5iFANk0hWxYLxiePCsijRZ/Uso3ch6ADAc=; b=sHH7Selj0hdZRBX5p/emTD4Y92lJ38LGWEN/DiJeA7hegl8s8M3GAtnqihdPAp1I5kMoZ/Z0oKq8PFhG5ZEP14ou8uReFAuacgFfuN23fy+aM/aUvqeEsFNp7uR9cD7vzTPxZCL0SviJLgPsP8kTIN2d1vFuRfGbOBP33z9WHkh5bj+Wi5I1wqeZ5jNEMZvKxkQYNVbSKMGKWh8x+Ozcj8/eVSQfr2hq7Rp5Fzz/nEmHUYiMmQvSPxWvfIxTG64eImsl6ajrixEunORz1JROMncRdramAY6Jh+8K2Kretrh95ceCVsLjUPAWgRZxiGLzcWcjbr7MdjoajmLWuIeaZw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=virtuozzo.com; Received: from DU0PR08MB8254.eurprd08.prod.outlook.com (2603:10a6:10:412::11) by MMZPR08MB266317.eurprd08.prod.outlook.com (2603:10a6:190:54::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.428.9; Tue, 15 Sep 2026 16:01:51 +0000 Received: from DU0PR08MB8254.eurprd08.prod.outlook.com ([fe80::66a7:414d:72e6:4327]) by DU0PR08MB8254.eurprd08.prod.outlook.com ([fe80::66a7:414d:72e6:4327%5]) with mapi id 15.21.0428.004; Tue, 15 Sep 2026 16:01:51 +0000 Date: Wed, 16 Sep 2026 00:01:44 +0800 From: Alexey Kuznetsov To: devel@openvz.org, khorenko@virtuozzo.com, kui.liu@virtuozzo.com, azaitsev@virtuozzo.com Message-ID: Content-Disposition: inline X-ClientProxiedBy: SI2PR02CA0042.apcprd02.prod.outlook.com (2603:1096:4:196::19) To DU0PR08MB8254.eurprd08.prod.outlook.com (2603:10a6:10:412::11) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU0PR08MB8254:EE_|MMZPR08MB266317:EE_ X-MS-Office365-Filtering-Correlation-Id: 88f4291c-7291-4278-e1b6-08df1342a7df X-LD-Processed: 0bc7f26d-0264-416e-a6fc-8352af79c58f,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|23010399003|1800799024|376014|366016|10067099003|56012099006|18002099003; X-Microsoft-Antispam-Message-Info: mmvnwM/UZ63aC8xPWjJUpnrzSxnUVMMg8nLIRKbmNJhQfSjniEk9SPIYQYUwhG6aFJnhAXK05Q4Wf0ATGjnhxJsLVBi1tA1slXiSiRD9DeH4DOBGOwKLICIHUzdJTrQc6kCcH6R0SxVAjFr9iSWpd0Q0sRAQVdaUoZJi++e0FhwansRZEByoRqFTDrhVs6KuQFvTHay76g7+LohO1ih1qA4kvTNkBmVt9xjnnSSc187xquNMZYGMUXWZmq9FKbyNOwPORzk36BZTmQuycWfPwbsFhDg5SiO4Qm84RqYgG+lq0Hh+SCZQmH3Zg/OLLwGYIZvHqPNTomATqqbOUF/ie5zNJ5yzWgoqTdwxxaaZGSphHSoYYvnBrbgcw9Q9t343lkDhP9kVVh9vmwWTMxtErvoRKxWVE9/cFvKkTcPpmMrXjhDflu+8JsOz732rayz2HsUwtiqb9Ce/pW1igtFGHkkeZAgOhqW7xUFRFl7zPPkLYM5ETIEnCCBtH3NV/eglf11vsI5bxsO6g+4Dm+aMpgV4aajQ/fSeGd5bnafBUJLrtKzs0hGSnpPCBnZRR92cuJKLmQgSNT+7kkyeoiBx1dsvXN9R0G18NeFNR8UHtvQy32mjE7y+7uxt0yVVgDmezRwvBiTl0jutXwa0m4pHu9MYWq7jwFyFRLvUyxBd2lI= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DU0PR08MB8254.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(23010399003)(1800799024)(376014)(366016)(10067099003)(56012099006)(18002099003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?1isqsfLz3wTatWEUov/mgOGrkouHOLOKUQNtEvcAX1amLyq9vOHD+UQAjENr?= =?us-ascii?Q?in8ZXuEQ3ysyu+em8Fd+NWNTFiin4ck28Dovo/iOmrSsfwh9DWdO7o+MHec9?= =?us-ascii?Q?HUoqnJUuOGB7SHatEK1s73IqGD9Pim27opuy3OXHHpGhKjMdzyZ2jhdtOY/C?= =?us-ascii?Q?mB9KTE6K+I34VMy7+ygtogvops3s49W1aRdmnC5/sS29hIu12r2FjirPE5pi?= =?us-ascii?Q?3hBPbsGKsqVti68OMAc+ENH7rO2RpDn0sMuX2zSkv4nn2siGYv2AOeMnBWPG?= =?us-ascii?Q?x8u+aMW9NyzcNdQAcqwergn7D4kQvSlCScBsuIv7IJT4wdDh3qMdcj3ImNM1?= =?us-ascii?Q?Ir5rnQlZcL2TjF5SPrdYztlrP2jdfMEKQLEWku3PPmeP8hUgiNZ0xMw/xaMj?= =?us-ascii?Q?maX3Fqp06YR/zuFJ4yVFpSoSq52HdgcL82ALYf7ivHZ1TPosZHWp8O35MKyK?= =?us-ascii?Q?s/JN53rPfVlth1//GxrGJ/ftLWP1p6pag8TitdzqVqRTmhnEFpZFG5BTW8y8?= =?us-ascii?Q?/KykuK7UvVGe2v3wM2m6Iw0o1LJ/erzp3oCMo90Lr09zyLTSrmqAmKPv6M5b?= =?us-ascii?Q?dcqwLkuGSccpDnQxKTRzE9CrQlpjgzlW+lzKnrIvdv+mn4EUu70ZEPGS6L3e?= =?us-ascii?Q?vyZUmLmdeIfF10y3ba1R6u0XTAWaKLsU9JIqPjKydQMCTYvQBGz6huCS0W29?= =?us-ascii?Q?/8QAgBMS8UHLTulLd2LRADdavCUeGpyH/klpd5LhLm+yorjSCOYyOisCE3M/?= =?us-ascii?Q?1utovtcA7JttLlHnnPXgDSrVS9P1OriBurhTv6EnNjaXtVwGmPCZBOcfFcqb?= =?us-ascii?Q?axpf0nH5u4z41D6ExMDsinRbdWUE4Ybn09/7ly6eZuZ0GTuvJ23E7b/pPCcc?= =?us-ascii?Q?kBwKTCY8HhsK4UiGYAQcK42gToFQACz8DZzmw9M6ucm3bz1HIhAru1h7iaMw?= =?us-ascii?Q?y36u7lhrZ9ji6q71OtwHnT6lwxsA4Np1qSs0lw7A3i5zGb/dDd9Ktn5l+uu4?= =?us-ascii?Q?djuoqOUEozIyk3X8xgp/IRCDLavZ0Qw78nZGvnAWMCqFKh2AMWiyS+KbYphR?= =?us-ascii?Q?ZSX2bofY36L5lFwjJgGl+0eC+h1JjyjMv1cw9meipg+pKw6rkToDz2xDmqBf?= =?us-ascii?Q?5hC5K0CRZnfHl0ad0x3V/jcf2Lp+BuXTo7QlxGVA0L9bQYJI1G//+B90VGgb?= =?us-ascii?Q?dRG+FXmuLAlBZYUA7A4d/MKTQKcePotd4DFlarOkh7Rh4U6xNNVIKrIlwqBX?= =?us-ascii?Q?Xzib5sUhOxgEsmcwrq8JlTscyjyIp7k191dealpFPgQh4wNqCOtLa4THz3ME?= =?us-ascii?Q?78IWrWcVgTGT6B6q89IbjwrguE+Gj5knlQyEIenraspiNBps/doNtjhPlIh7?= =?us-ascii?Q?kpUKC1k6dEkKeyLXBsvEcRQI2p4cb1yIJ1FA/BCrUXbx/7gUXoERxWpamKMn?= =?us-ascii?Q?10Ie/2RSWP+99f+l42bcCdFBxmRorXrwATSFamrix8kLpgNLSEN5g3+8xG5d?= =?us-ascii?Q?LShnL5ZXwWsrJ3G3J9mAMnWDvj4txPzNXJcxOCAXbv6w8NcSsWp3/1IjJstt?= =?us-ascii?Q?d7X//DSaeJB642bEwcILHxVfMoQgFy683rY00xkKJnqWjQD3Er8voZq0dzKc?= =?us-ascii?Q?cpRae7xFGkTOp+SwLeRHo/FCOH2IvBpQGYGj1eMZhW9UtqC257IRpErAsUsw?= =?us-ascii?Q?+Jd4O9aFeDrr5/x5ffNQ8fk4PKYyEUZna0+ml7Q1LqAZJtWIWWdCrNF4j45D?= =?us-ascii?Q?DejBORPEeQ=3D=3D?= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 88f4291c-7291-4278-e1b6-08df1342a7df X-MS-Exchange-CrossTenant-AuthSource: DU0PR08MB8254.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Sep 2026 16:01:51.6085 (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: Qs21jmZO1BdLPt/oU7Jy2JDpjB6urx519HfX+zlHEjI1RKiCopqQYit9xDMQ05HHV0lgid5JMXhGGVLEpPBY7Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MMZPR08MB266317 X-OZ-Fwd: true Subject: [Devel] [PATCH VZ10] fs/ext4: critical suboptimality in ext4 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-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: devel-bounces@openvz.org Errors-To: devel-bounces@openvz.org Classic example of ignorant programming. test_and_set is very expensive atomic operation, it must be avoided unless it is strictly necessary. The bit READ_BIT is set-only, it is set when group is read the first time and never cleared, so that it is safe to test it before set. Due to this bug even on just 4 allocating threads ext4 wastes 50% of cpu time on this test_and_set, none with the patch. The patch has been issued as private RK patch before and its effect has been tested in production. NOTE: ext4 has other performance issues, but we do not address them for now, because they do not have a bright signature in profiles. Examples are: bad alignment of struct ext4_group_info, frequently accessed read-only data share cache line with frequent writable data, even worse some of bits are atomic. WAS_TRIMMED bit also seems to be optimizable to be flipped less frequently. Affects: #VSTOR-137147 Signed-off-by: Alexey Kuznetsov --- fs/ext4/ext4.h | 2 ++ fs/ext4/mballoc.c | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/fs/ext4/ext4.h b/fs/ext4/ext4.h index bf7637785e07..ca6498609e2e 100644 --- a/fs/ext4/ext4.h +++ b/fs/ext4/ext4.h @@ -3514,6 +3514,8 @@ struct ext4_group_info { (clear_bit(EXT4_GROUP_INFO_WAS_TRIMMED_BIT, &((grp)->bb_state))) #define EXT4_MB_GRP_TEST_AND_SET_READ(grp) \ (test_and_set_bit(EXT4_GROUP_INFO_BBITMAP_READ_BIT, &((grp)->bb_state))) +#define EXT4_MB_GRP_TEST_READ(grp) \ + (test_bit(EXT4_GROUP_INFO_BBITMAP_READ_BIT, &((grp)->bb_state))) #define EXT4_MAX_CONTENTION 8 #define EXT4_CONTENTION_THRESHOLD 2 diff --git a/fs/ext4/mballoc.c b/fs/ext4/mballoc.c index aaf2c24c514c..b50aa3405796 100644 --- a/fs/ext4/mballoc.c +++ b/fs/ext4/mballoc.c @@ -2836,7 +2836,9 @@ ext4_group_t ext4_mb_prefetch(struct super_block *sb, ext4_group_t group, * prefetch once, so we avoid getblk() call, which can * be expensive. */ - if (gdp && grp && !EXT4_MB_GRP_TEST_AND_SET_READ(grp) && + if (gdp && grp && + !EXT4_MB_GRP_TEST_READ(grp) && + !EXT4_MB_GRP_TEST_AND_SET_READ(grp) && EXT4_MB_GRP_NEED_INIT(grp) && ext4_free_group_clusters(sb, gdp) > 0 ) { bh = ext4_read_block_bitmap_nowait(sb, group, true); -- 2.43.0 _______________________________________________ Devel mailing list Devel@openvz.org https://lists.openvz.org/mailman/listinfo/devel