From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.openvz.org (mail.openvz.org [69.168.225.77]) by lore.virtuozzo.com (Postfix) with ESMTPS id DF77380E7E for ; Wed, 28 Oct 2026 15:41:50 +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 69SFeSDx021753; Wed, 28 Oct 2026 18:40:29 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 69SFeSDx021753 Authentication-Results: mail.openvz.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=virtuozzo.com header.i=@virtuozzo.com header.b="j534RPVK" Received: from mail-pg1-f197.google.com (mail-pg1-f197.google.com [209.85.215.197]) by mail.openvz.org (8.14.4/8.14.4) with ESMTP id 69SFeOeF021749 (version=TLSv1/SSLv3 cipher=AES128-GCM-SHA256 bits=128 verify=FAIL) for ; Wed, 28 Oct 2026 18:40:26 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 69SFeOeF021749 Received: by mail-pg1-f197.google.com with SMTP id 41be03b00d2f7-cd60a365440so802270a12.2 for ; Wed, 28 Oct 2026 08:40:25 -0700 (PDT) X-Gm-Message-State: AFq9FYK1vSlT93ouGi8Dsltc/Ku3czhowctwdmvxZudiIQogUL19g7xU Xq8O5H0vhuDJ+ItesFc79PcGYORkQibD6y7gvQVXOrTf+0WCzHy4sTtuLYnSKoTUuY2X2q+D88V uiqhF5FZ/mw7ho9Zf+LO2r2H3MMMc+znHRzJa+Mdjt0bTlTJm4jdXOQ== X-Gm-Gg: AYBFou2eFdv72+QSb5wZSF+tiqDpXdnnxC1ujufbSNo9oAvBeu0gIRiSfR0l/rkjIAb Zp11WdplnCB9Uy9hNM9o4iWt1YxgAwncSI5Ueu3YZLRBh3smZrBDX2RhVtzXwavNyg0JeO8gf6K kAY0/96guCxw+qS0MZO7hy9gU3bnx6+RtBvmHzouODTDe6qpuUpBACvrtwX6ZzIeWGNFsUpZsi+ MJz8JG1mLrxLXgCdaRSF5OeIEigaBeziF4hx6+yZMDocislOCd5DoQ/UJomDsh/CFNJSpPrQNy0 6LNAnh7/9ONEdfyQLQXzVcJ6okbsg5LI88n+WgHX2fnv7Fd/chMfa6L/VWeQFu3pUi3DvqSwy93 U1eiPliq9p7uGU5KO6IYBhyn1wPcSjLB5R7XsxpZPNQpkvKfhc/34NZmWHyUur8BbcaDscUI5Ad 7eglCr5RON+iKEPCbnxLa8 X-Received: by 2002:a05:6a20:9e46:b0:3de:517d:fd81 with SMTP id adf61e73a8af0-3e902421acbmr2100180637.65.1793202024244; Wed, 28 Oct 2026 08:40:24 -0700 (PDT) X-Received: by 2002:a05:6a20:9e46:b0:3de:517d:fd81 with SMTP id adf61e73a8af0-3e902421acbmr2100147637.65.1793202023471; Wed, 28 Oct 2026 08:40:23 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1793202023; cv=pass; d=google.com; s=arc-20260327; b=g8Qio+DXiKKnyxaHXecaY3BignIBsXBxuy6FSHVeNpJsP9fD2Sq4LDomp/w9K3XnSV mwjduRCj0oNDT0MKyqr0yImHW+32iLwt5U5OpzGtAs3rITEVQQYT7hkSyU+d56EtLTEk GyfqyWNWpapwzhq9Ax5YNOAXLiOeVHiF0v8xn6j5vM7rgZQQEOrzorBKyvuJ2mNKLAme vYC5DNmYdLqbCDZ5XBjTSiQgvtXxNYbVLa2j8+Uk6rYjTCxXQQufUUsbWbBesGRVK8s9 ymc42ohZXRKPYKruFpCh0QaZkkDMJYjUb1YR6Znxi//TtNiECiupm9foOi8xs8B6SlvJ fpbA== 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:content-language :references:cc:to:from:subject:user-agent:date:message-id :dkim-signature; bh=q9osDFvRQ+zttjJOSYJVx/j/WlaorDNqAzh5h9vDK94=; fh=gOwN6OiKHmv4OmN/bLF0Di2Q4hCWleLFljIg3KC8d00=; b=O8Fiv5XAJ6kF/PccaskkaHeh5SXsbMtgCz38f1HMiSJE7DHZJFJhC5rRAUXKGxj2Qu VMFQlZBK2+UcYrGVZaEB9fnTyTc4SvZgt1ixYYemcDM8b/5FYJaZLqdxKubM4MzI9RCD HjmCO2YNPd/uAd/cCmmhPFGJbaOk66xO9t0pSKagXlOauMJxnFjo5cyI2Rn280a7gBuH quoMUvQS+XMIw52Mxv2TaC35KtS5cWP3z4L4an3D+aPfh2fMvAMrGqxd+UVPfIZThHLL YW6bMjt5yqRLMDF/RjdasGS5sACJ3l9kbbZOmM2vtaBY566BSsqcETFMT6SrPB7IeKXW 3WBg==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@virtuozzo.com header.s=selector2 header.b=j534RPVK; 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 khorenko@virtuozzo.com designates 2a01:111:f403:c201::1 as permitted sender) smtp.mailfrom=khorenko@virtuozzo.com; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=virtuozzo.com Received: from AM0PR83CU005.outbound.protection.outlook.com (mail-westeuropeazlp170100001.outbound.protection.outlook.com. [2a01:111:f403:c201::1]) by mx.google.com with ESMTPS id 41be03b00d2f7-cd8ccd1104fsi17738794a12.321.2026.10.28.08.40.23 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 28 Oct 2026 08:40:23 -0700 (PDT) Received-SPF: pass (google.com: domain of khorenko@virtuozzo.com designates 2a01:111:f403:c201::1 as permitted sender) client-ip=2a01:111:f403:c201::1; Authentication-Results: mx.google.com; dkim=pass header.i=@virtuozzo.com header.s=selector2 header.b=j534RPVK; 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 khorenko@virtuozzo.com designates 2a01:111:f403:c201::1 as permitted sender) smtp.mailfrom=khorenko@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=PgwE/abub62BQE2CYYTN9P+6SIUF9K83MQ3OlX62GhZE/XYBjU4wfyh5DjFkulgalJvYbDsT465HvCPRgpWxEYOCb7tOEfD8XEJ10/qozMXeGheTrGGL42jb+9a0xBId5IZvvbq6ps0R46SEJRaCv9C2a7uf6II4UjyVTX4yCALEwdWGsB47BCoZ1A8rejWDQocAF1TAaB9WzweFIsXZDzPGMKhpiczq9w942w5tk+9O9YziCKJiX6xpsJ2xzgusPaNNFiYPj7d2JLu2jzBYL0UMTqusj4pVY3pxpF3kmLsKCzfbmHwcJflqWaBLjzrIT9xdou/hLO3YvC2ZwJF38Q== 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=q9osDFvRQ+zttjJOSYJVx/j/WlaorDNqAzh5h9vDK94=; b=cLTgH9MpOBsAfslc9AgDIub4FPRSSgG2JdUlcdEV3YmNmKLtTGQXSHdB16OWPmLPjgLla77g0QhKLbn9WghhaFtDnay7VPX8esHtkI/t2Jovaq9+cV1D5hHt9WsCDTP8LRHvtA+0+0h3nwPIabuBG5eaSLdEhbC/u7Ah1FikDZeksOlJedAvMeZfLjZuYzf7gto7679tyj+sCu9LlkOAlotEcQL2C9mQgdHijCzbTnVyHYO1Bv0A1jd4KQ7+z6sbhHoUQeYfe2B7FJ0rqmxyGseEv9eIN+R5q8CqrSn3vtmRnlf+g+MKEaq44KAYk27/JEO6SUzf0E+9hoYNW0AoTQ== 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=q9osDFvRQ+zttjJOSYJVx/j/WlaorDNqAzh5h9vDK94=; b=j534RPVKNWh5CJ/hEaWHm0yhJ2L15lGX3jPdrEdhEaESklM3BOZ6yW9bp8gvur2aKdOP//epmtTOLX8lX07aNvehsjVQxXXUpXsq0A7utuViWmJuXMfq1hIyDDBMfYlNRBItIB6zoePI5YuQSfsc/DSSSjRJ5gUP5nSeuXKl4GFVUuHcAF/RQ9A8k+ZmWtes/X1d/ltW3Bv05yvkOFrbZ5vQjg2plqe11wziNnB/tB6DUN9SQankIkd6fU1ff4E3RDeJNVwP7inaMVw7A/ExjjtCD8Nq9TbQJZWZsZtFaLzf/bfTEy0VVafYaoUoVPlN32Qo9EL4VOKuMuv0K3uUzg== Authentication-Results: mx.microsoft.com 1; dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=virtuozzo.com; Received: from AS2PR08MB9075.eurprd08.prod.outlook.com (2603:10a6:20b:5ff::9) by DBBPR08MB10673.eurprd08.prod.outlook.com (2603:10a6:10:53d::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.546.19; Wed, 28 Oct 2026 15:40:17 +0000 Received: from AS2PR08MB9075.eurprd08.prod.outlook.com ([fe80::3f57:9ced:7a37:1bd8]) by AS2PR08MB9075.eurprd08.prod.outlook.com ([fe80::3f57:9ced:7a37:1bd8%4]) with mapi id 15.21.0546.021; Wed, 28 Oct 2026 15:40:17 +0000 Message-ID: Date: Wed, 28 Oct 2026 16:40:15 +0100 User-Agent: Mozilla Thunderbird From: Konstantin Khorenko To: Pavel Tikhomirov References: <20261028-b4-prep-khorenko-vstor-151607-numa-migrate-order-v2-0-b973a82a5b0c@virtuozzo.com> <20261028-b4-prep-khorenko-vstor-151607-numa-migrate-order-v2-1-b973a82a5b0c@virtuozzo.com> <010701a182e47c1c-07e58fbb-43c1-45ec-8a62-7bbdd6363582-000000@eu-central-1.amazonses.com> <2e3b4eb9-054f-463e-8b35-d8c62eba88bd@virtuozzo.com> Content-Language: en-US, ru, sr In-Reply-To: <2e3b4eb9-054f-463e-8b35-d8c62eba88bd@virtuozzo.com> X-ClientProxiedBy: AM0PR02CA0168.eurprd02.prod.outlook.com (2603:10a6:20b:28d::35) To AS2PR08MB9075.eurprd08.prod.outlook.com (2603:10a6:20b:5ff::9) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS2PR08MB9075:EE_|DBBPR08MB10673:EE_ X-MS-Office365-Filtering-Correlation-Id: 5688588d-9828-43c4-91f1-08df3509c442 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|366016|376014|23010399003|261026140227099003|4143699003|261009223027099003|56012099006|5023799004|261022075727099003|261021121427099003|261022105027099003|22082099003|261026121527099003|18002099003|261028144727099002|10067099003; X-Microsoft-Antispam-Message-Info: FuuquNuBvr6dyQdDChq6EtrBp1jFAyUEui5eCtzn8uFKB7Xvs1VmxbihpknPpf2QdE52tFGm3iTloavIrvmAqOa8L/175jsLKYG0ncA9aIrF07cgYcpRbsidsC24kcPPZfOyMwLmRX8PNNxuMeJiQ/LJvxFiz4MqgUw3q2AzFYq4mUxCRSwUum3N73ppvYU3JyFPrzwu0Db0dxKeEXfczWHytgSJGQKhVHm4dmANhFYbCvsT6ZkMtZw2QbCGwDuOnUp1NL4Js2/S6mRf4Ddk4/UBqT3T8Ap0OnjOhEGlPrtL0SbAyDUb18swgsHI6yLdZySIYc8gd6a8r2e+unfL7uEn/DhDEMyD550Ny/IkvT5NrSA4kB3pilo/2RL5rZ4lIYIcQbTyI+Af4VLvd6TN/ICSKLFuCIZ30nCOhCGA4SepEF7bIRpd96DXnNoRm8+zyqykpcd9QI+wa3fDxUazFePgl8wfpWI0ntx0ssdTtOE4KK6PPj2HoBnikkrb4Hn0y9gFr6bi9U/wQzPca17NGwxMe+8WlGV2NLbPjmz7pgZY9dGR4IzAFrvbIyDo/nyuE0U0JvPvgJXTPtoXB5Ajx2oXkwpp9qN99V2X03enLPYHtxnO9Zj1jOTlEomuK7ObwHRc0sz3MPW+b8hveJOTbsQ4dELtFHRw7PZ9rezdrGw= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AS2PR08MB9075.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(366016)(376014)(23010399003)(261026140227099003)(4143699003)(261009223027099003)(56012099006)(5023799004)(261022075727099003)(261021121427099003)(261022105027099003)(22082099003)(261026121527099003)(18002099003)(261028144727099002)(10067099003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?MmRZeWVsL1dlU3ZzYkxlcDE3ak50dE12cVJLdEFYSzA5MnZqekx4ODZ4QUND?= =?utf-8?B?WCtpL2lIcFh0NHA5a1JtZDREbG4yNkdEeWdVRkxnNlh6eGx5YnViZk5BYklv?= =?utf-8?B?NFFHaXBQYmFhTk5WcmRxemdQQmFhVzkwckFtMXlBTTRCVEtGSkhEUFIxa0lL?= =?utf-8?B?enlsZi9KdUpqYjNIUEd3WG1xaTZ6dTVaYTdtZWRtYnJWM2dGWmJqSWo1TmFz?= =?utf-8?B?ckc3WEhvQk9YS0plNzJQeXh4UjN0eXZCVzY4WENUWE83SDBNNFRFTEtxd1Bi?= =?utf-8?B?R0diOHlRbUxPdFpNNFhQWVRwZjJuaHl3a2d2RG5FZUlJNit2RDhVVzM1RDFV?= =?utf-8?B?RTJWOEdMakRnc21VZ2p5dy8vRTR2Z1IwR25OcUt2OVFvS1ZHK0ZScXFNQWRl?= =?utf-8?B?Wi9rL0Q4M3V4d2JVUThub1AyRHRHMlptNFFmUjNMS0RCRHdDMmJpZ0JBYWRR?= =?utf-8?B?aysvTVF1TFhpWDhucUh2UjhGR1ptNXhWNDJrUDhCckVuOUF3S25aWXNqd3hF?= =?utf-8?B?QStZQU85allqTzdXUjVwSjFKbU41bHd6K3k0WkViYnhLdnJ5NTJCZU1LbFI4?= =?utf-8?B?V29nNWo1aWFhN3g5UkJveUNiczl1dkdpY2VTbDJvUDE0VStDeWQ5Rjl3N2kx?= =?utf-8?B?bkdiYWNncEdCZFNMeHI0S2dzeU84NE96a1N0UVVRUUJqakVRMGNQVEx5cTZ4?= =?utf-8?B?Z25sRk5aRUtUcU9Xekt6TmpYRkNrTzBtMWRJUS9Db3FnMlhQM0h0NjRObGZ2?= =?utf-8?B?RkExWE5mT2JicjNrTlUyTTZ5b1lrb2RpN01Ud2NhamFzalJadjg2L0hMNEo4?= =?utf-8?B?QjFUWXRGTHlMcnF3eUM1ZG9nek5aOC9lSkcxUWhNdnlIQ0FNVkZtNDNnQWNS?= =?utf-8?B?azg0dkV5Q3hxRWJnSEZaNDB3Mmd5bTZ1NlBkV28vWFNwc3NJazFkSXdQUmRD?= =?utf-8?B?eFRYa0hrcmhYZ01MM2orcWIrWGc0bHptRmt0RW9PVDZMa3lsN0hvZmplSWtv?= =?utf-8?B?ZDV4NzQxNHp1NXJhOGZ0Z0IvSy9razRESlRJV1NUY2FyekRFZ0pDc1dLWjFX?= =?utf-8?B?UUJwNCt1UXZWekM4SCtkbUkwWS9aUjZ6cjQ1ZUpvQUNNWUVaNzRBWUZMT2s1?= =?utf-8?B?TTF4SmxEb2xsK3doZWRPRjFKamN1bmE0VUg1VFhacFUwT05IRW8ybE1mWldY?= =?utf-8?B?SEJ1NGVWbHRxMzVFTm4rQ2REREphUVgvSGVMRDE3emlHR0NUNGZUR0ZPUTVQ?= =?utf-8?B?UjdsYnBKd0poZmlsYkZ0amZZQ2dWSFBSQ2NoMnB2SFZ3aFVScnpkVGZlSVQy?= =?utf-8?B?SGNTbGtpQWd2MDlnc0tvM3RnMy8remhINnRYZnowUjhsdFpWTlhaekpJWE0z?= =?utf-8?B?VVQzdnVMeGpoWDZsQWt0dWpZT2pFUVZZRGRhcEZaTFdZbnNRd0dnaktza2dy?= =?utf-8?B?M1UzanlvdTVZUklDVkNRNkdMS0c3dCtnYzNmV3pGUVdiTk90Q0Y4aGdGNk1H?= =?utf-8?B?Snk0ZzhFTFlOYjV0dHYybGc4UTJaaDNueExBR3owekd6a216cGp0MHN6enFp?= =?utf-8?B?d0lLcW5acU5EYkFDM2YwRGE5bEFPeFFVaTF0MHVGWnJmdVE5ZWpCQ0c2RXJo?= =?utf-8?B?LzNBendoZlg3SFRibXdnbUY5c1RCWUFzb1NaZEhDNlBtTFNFdkRWdHdES1V4?= =?utf-8?B?R29CZFRqU0hvZ2xydExVSkF2OTNzS3NvUE1wVjArUEVWOUVvVHk5dVZMSC9C?= =?utf-8?B?aGl2aEZIY2J3cVplUHBpZFQ4Z1JFSWNpbGRXU3VhNDFZTnk0M1E0dHhSTUJL?= =?utf-8?B?a25TN0JWVFFBWkZkYVlsTE9wdnFBMzhFR3QzTENLUmJOZWd0MjlBc2xCOEo1?= =?utf-8?B?MVJMV2tjZnZ5VHJuQ2Mvb1o4N3hIbG9vMjBXelkwbkJrQnVnK0lqOEoyamZB?= =?utf-8?B?U1RpYmxDZDEzaU1FWHpRQy9VKzNNVnNPWmFzY1FWN1EyTnVwZ2x4bEQxYWRr?= =?utf-8?B?OGhjV1phRS9iMTNtTDA3UUdOWFV6RjlMbzN5bThaMm9mTmNsTyt3RlBNdWNu?= =?utf-8?B?VHRWWUQxVWRTZWhYRjVFTTdsdVJVeTVWdlFHaWxwMGN2NVhjZW1GaWk4di9T?= =?utf-8?B?a3A0QmhGZW5PYko2QkdRWS9YczNGdWo0aUM5Qit4cURVU3gvWW9TVkwwcGJo?= =?utf-8?B?VE9ReTBhRWpqLzl1d1R3K0ZWUXA1aEJGbG5VMHo2NUp4QnJWRnFoNFl6aEFC?= =?utf-8?B?WmdEZUpKTmt3Q3JOQjdBZitHQVFJNCtPazRUcGpYT2RJdG9lUUNYTHA3QjlU?= =?utf-8?B?TmpwVDM5RkV3WEZXanJJM0JFZ0dsdGdQTFg2cUdCSnkrVkM3Q2Zsdz09?= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5688588d-9828-43c4-91f1-08df3509c442 X-MS-Exchange-CrossTenant-AuthSource: AS2PR08MB9075.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Oct 2026 15:40:17.5420 (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: LqwqqvKb4UijGzlmpjJEH9rUEh22/evqt8TtLep1dC8KWfW6YMGW4XP0XNw9atijGljIcs544MguXAnOKkS8rw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB10673 X-OZ-Fwd: true Cc: devel@openvz.org Subject: Re: [Devel] [PATCH hci-8.1 v2 1/2] mm/memcontrol: allocate numa_migrate targets of the source folio order 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 On 10/28/26 16:30, Konstantin Khorenko wrote: > On 10/28/26 15:22, no-reply@sashiko.virtuozzo.com wrote: ... >> [Severity: Medium] >> The order fix looks right, but the no-reclaim, single-node policy is now >> applied to every large folio, not only PMD-sized THPs. >> >> GFP_TRANSHUGE_LIGHT has no __GFP_DIRECT_RECLAIM, and __GFP_THISNODE pins >> the allocation to ms->current_node. For a small-order file folio or an >> mTHP, can the allocation now fail on a fragmented node, with no fallback >> to the other nodes in target_nodes? Before this patch, such folios got an >> order-0 destination allocated with GFP_HIGHUSER_MOVABLE | __GFP_NORETRY, >> which does allow direct reclaim. >> >> If the allocation fails, migrate_folio_unmap() returns -ENOMEM. In >> migrate_pages_batch() the -ENOMEM case then does this: >> >> case -ENOMEM: >> ... >> if (is_large && !nosplit) { >> int ret = try_split_folio(folio, split_folios, mode); >> ... >> } >> ... >> rc_saved = rc; >> if (list_empty(&unmap_folios)) >> goto out; >> >> When the split also fails (for example -EAGAIN from an elevated refcount, >> or a mapping whose minimum folio order is above 0), migrate_pages() >> returns a negative value. Then in __memcg_numa_migrate_pages(): >> >> ret = migrate_pages(&pages, memcg_numa_migrate_new_folio, ...); >> putback_movable_pages(&pages); >> if (ret < 0) >> return ret; >> >> Does this abort the whole memory.numa_migrate write with -ENOMEM and >> leave the remaining folios of the memcg unmigrated? >> >> The old PMD-THP path had the same failure semantics. This patch widens >> it to all large folio orders, and the commit message doesn't mention the >> change in allocation policy. >> >> Would it be reasonable to fall back to order 0 or to a reclaim-capable >> gfp mask when the large allocation fails? > > The allocation policy for large folios does not change here. Before > the patch every folio_test_large() folio already took the > GFP_TRANSHUGE_LIGHT | __GFP_THISNODE branch, only with HPAGE_PMD_ORDER. > The order-0 path with reclaim was reached for a large folio only when > thp_migration_supported() was false, which it never is on x86_64. So a > fragmented node is now asked for an order-4 folio where it used to be > asked for an order-9 one. > > The fallback you suggest is in migrate_pages() already. On -ENOMEM > from the allocator migrate_pages_batch() calls try_split_folio() and > goes on with the batch, and migrate_pages() then runs the split pieces > through the same allocator as order-0 folios: GFP_HIGHUSER_MOVABLE | > __GFP_NORETRY, the whole target nodemask, no __GFP_THISNODE. Only when > the split fails too does the write return -ENOMEM with the rest > unmigrated, which is what a PMD THP did before the patch. > > Whether large destinations should drop __GFP_THISNODE and allow direct > reclaim, as upstream alloc_migration_target() does with GFP_TRANSHUGE > and the nodemask, is a separate change, not part of this fix. > On the gfp mask for large destinations. The patch does not change it: large folios took GFP_TRANSHUGE_LIGHT | __GFP_THISNODE before, only with order 9. Compared with GFP_TRANSHUGE in upstream alloc_migration_target() it has no direct reclaim (the allocation is served from the free lists or fails at once, no compaction either) and no fallback to the other target nodes. The cost: on a fragmented node the large allocation fails, migrate_pages() splits the folio and moves the pieces as order-0 pages, with reclaim and the whole nodemask. The data arrives intact, but as 4K pages, which the page cache does not grow back. GFP_TRANSHUGE would keep the folio size more often at the price of a reclaim/compaction stall in vcmmd, the writer of memory.numa_migrate. Upstream makes the same choice for the same job: NUMA balancing's alloc_misplaced_dst_folio() gives large folios exactly GFP_TRANSHUGE_LIGHT | __GFP_THISNODE. Placement is an optimisation and should neither reclaim nor land on the wrong node. So I would leave it unless a two-node host shows NFS or XFS throughput dropping after a VM migration; the selftest can measure the split rate through /proc/kpageflags, and then a reclaiming mask is a separate change. _______________________________________________ Devel mailing list Devel@openvz.org https://lists.openvz.org/mailman/listinfo/devel