From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9C9E1C83F03 for ; Fri, 4 Jul 2025 15:25:44 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 1B0056B02B7; Fri, 4 Jul 2025 11:25:44 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 15FC06B02B8; Fri, 4 Jul 2025 11:25:44 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0272E6B02B9; Fri, 4 Jul 2025 11:25:43 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id E23D96B02B7 for ; Fri, 4 Jul 2025 11:25:43 -0400 (EDT) Received: from smtpin21.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 659DD123949 for ; Fri, 4 Jul 2025 15:25:43 +0000 (UTC) X-FDA: 83626956966.21.EFE9ED2 Received: from mail-lf1-f44.google.com (mail-lf1-f44.google.com [209.85.167.44]) by imf29.hostedemail.com (Postfix) with ESMTP id 84DB5120011 for ; Fri, 4 Jul 2025 15:25:41 +0000 (UTC) Authentication-Results: imf29.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=WCSaV6Y+; spf=pass (imf29.hostedemail.com: domain of urezki@gmail.com designates 209.85.167.44 as permitted sender) smtp.mailfrom=urezki@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1751642741; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-transfer-encoding:content-transfer-encoding: in-reply-to:references:dkim-signature; bh=nNzVkgal/hud1TevC2XxHRKgzRdyc1tLSbBrI5duNP4=; b=jwhihyfx6RxwveeaCHSKvdnzXN0CPVSodTiGCknGVe3fwZKhkT2FHqKAqn7ZY3YP20vLxc mCy3kQeyVPbKFfkea23qRqteLI5ZJ6oNH88Ki7hd0Wk1pgW5NX0T/t2jfWXiXQHALBf973 /jQLtqs3c8ORhlpwZaSxLC+sj3OJPsA= ARC-Authentication-Results: i=1; imf29.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=WCSaV6Y+; spf=pass (imf29.hostedemail.com: domain of urezki@gmail.com designates 209.85.167.44 as permitted sender) smtp.mailfrom=urezki@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1751642741; a=rsa-sha256; cv=none; b=iIKYb/rZpzO06dCmCehYWLj2p7Jemjt73Zdx5P2ZYVPStKndaLM//lItti0tgUbRGHbNVX iRTHtVSaxALBRT0iEsoKho3IQEIvqtXk05qvjMa9M1gHIDMNh7OUyDGkcYPlVv/XwpwcxC /MtTyIubAJQn8AddpOeK1fYd8HHLksg= Received: by mail-lf1-f44.google.com with SMTP id 2adb3069b0e04-555163cd09aso1048985e87.3 for ; Fri, 04 Jul 2025 08:25:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1751642739; x=1752247539; darn=kvack.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=nNzVkgal/hud1TevC2XxHRKgzRdyc1tLSbBrI5duNP4=; b=WCSaV6Y+E384bCFa20rgOZTRoaVflkk6NX6vQS9sjw6XZuP3kquT8VALhpkBL3kiZT hVcoBvt9nsc9uBHZ2r12J/lbDvXYReec3ElyUKEZ8YU/OAgBfME5gHUtwKcV7/eBMzmc LDGCfwiAFNiCSFmmw4IZzj3JfHVdiyDggJ3WqtzYemK7gxDYbF9byd8MlgfwqhfZiSUZ HMBRvjG0oBnjGIVoOGJDTmfhmLnZcw8iYZOsjQiKVMcMg7x1cK2Q5R47Mh4NflgRZdGo ByNSIdlM1lZMESinVZaBjT+Wlpl3pHF988tLhWzT9gq+tiD85u+KDUCEIMuDZKwx99Qj 4bew== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751642739; x=1752247539; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=nNzVkgal/hud1TevC2XxHRKgzRdyc1tLSbBrI5duNP4=; b=dl2hhcQsQ1JFdrOKGOIiYnImnYIID2cGIEkTgkxqryCaVX5zVhA2C73L5jMS85ICnD UCH2eDCl+oN8naL7xaIbkzjok3RUAIzLjArD2U0O9Do6D4gJSa2HQ9tEB7pNvJJKcADz Fx0gtoumGtw7HiFtknFMYfprFGEPiHCZjdfU+1efSQAtJI45SB7zkCCCcXMlkAH4hUPW XsG8wLAUFiV2Oyk2yMASXOE2RvNU3gvtKL7e4hMyg4/lzY6E1qQNFK2T4etUgkfqXY4c jcU92DL8CcaoI3mfA3C2jn1Q9mZALrw2684RE6HidaHNW+qvCfhxRbirCdpgfJX4oxHy YirA== X-Gm-Message-State: AOJu0YzTlAspj1ClbaVp0uy7Mg0pN7Y42LEVQj2Rv+T2dLm5VoyGlwwm baQhVDuu5fgfOQI6WCkvkJfJHpmlIe93a6ibye1jmSuVSB4gVJIBmCiizf5T3Q== X-Gm-Gg: ASbGncvpxKInXvXO+G7ElMlPOmxhHmZ9+gzETWkhuujDfD/xsD8RCvu6XZITVpQfKfu bEDM6G12X05E/uRd3zAvn8n+YWmbPCitbU7oZrKH5DxUyTBlWPq8bfS+3egZzBi2LXhp5R43lu1 jWD+I90lNDlRolZy++ZG5JTSvrDhs/lunlxkyB1KEr31uiBoZHbcV/3WSo+1ToVb5J+ZjP2GBNK JIUGpNKkjszhxOSwP4t4tOSw01bPTDz7eArDs6mHBD+pUSlY/UusWYHxth7mNVHEw/X9A8VRjFV i/bQRlZHQ9WSmCTV7/HKlii2I5pU0JqUoCRzv+IKqB/TqV15KAGaUCLkZ3MHb9+V/rJb X-Google-Smtp-Source: AGHT+IFyqlS3XwUEofns+iepD0qC/f9e1YeFjK5MoXU0+BuUCc1OyJ8GdeEVZi1FkBvldruB0hcJiA== X-Received: by 2002:a05:6512:3094:b0:553:ad9b:cfb1 with SMTP id 2adb3069b0e04-556dc26557amr1051332e87.9.1751642739158; Fri, 04 Jul 2025 08:25:39 -0700 (PDT) Received: from pc638.lan ([2001:9b1:d5a0:a500:2d8:61ff:fec9:d743]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-556383bb113sm281028e87.11.2025.07.04.08.25.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Jul 2025 08:25:38 -0700 (PDT) From: "Uladzislau Rezki (Sony)" To: linux-mm@kvack.org, Andrew Morton Cc: Michal Hocko , LKML , Baoquan He , Uladzislau Rezki Subject: [RFC 0/7] vmallloc and non-blocking GFPs Date: Fri, 4 Jul 2025 17:25:30 +0200 Message-Id: <20250704152537.55724-1-urezki@gmail.com> X-Mailer: git-send-email 2.39.5 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: 84DB5120011 X-Stat-Signature: gedkb5fb3hjygojnsas64orf8f7r4sg4 X-Rspam-User: X-HE-Tag: 1751642741-894755 X-HE-Meta: U2FsdGVkX19eNqoSjcWgkY70n4zBpa4Gh+Gt25zQFk54HpSgVHGAQlAACBhegrb3aeAT7JKMpzePJZTewKj3hlPf5GXx3+vfJ1bP+vameizgzM9amqElbEqdy5DqeJxPIxzeHOTYzeXhD/JS6LC84HBbL2ysCz27p7McqvKaN6wuTzlPgynLtP4Px9eNLSheXnof75SiwYA7t/RNTCdwCrZTW0yvPQxyOb0ilOxIEF6XQxOdoChl3k07KUasVeVmezV/HHkDHDHPEHuuyCTDyIdyt4P+UMPuNLXwU8QFyL71Pu8lPG5twPQT8Rk96KTn2e7j8Faa9+D/NpECJTZs6Pa8O8Kn0NH1PeZ49eTEr6T76JZdemW8j6ei3EyGHtKzTY0Xbast5oDFXL3aghXmQWpbNVNte1LSSFtV/YrzXyO/2aAvBuguNbN14pvmhel3c1wIBgrpVXmyGsuMwHx832m61tP4sxETF+FEICxUZVyHIrgyXU3W9DUXV/eejjJjreQ+y/RUCJ546wCyYqLEQOvOhdzy4+GK/sydVZgqXCkeQLAPo3kI85ZJhh4PGjsfqfIjm2vkFNIB93yU5uX6zL5wl3Qa9FaWZI4kmotsD8ayNTUwfC/X6O0cdfdWvTCzjNLW68zB1S+QNFimYeN3TDSIyBPDk3YiJ5YB0xDUU9qCFNShEz1EdS8elfPhEhYnnv5nWLczArhYyBJ8jsB+zzUOEV+heZ9zLcUpo812uBYfSyTxRp6lJzGGYOdmLJUpYaK+MyG+MItI9qVSUjXNjI1gujMe6F4qdLJe8Hwyrkwuxsz+qAJg4Ja+2AO4IX8b/kaRfnl7auGkuX68Moj2wyK5Gslv017HH3B+Cow2FYt/hDUc1jYBWnGMQU2fK3nPibHkVVD74ej7sX3oSeGgAGv+/D5Rq076o1LGQvjvY0IZZSKbnJ7ZS1nHt71B0jJWYT+M8OSLi+PdQUI44hv yEsKuNBC HmbriTelOlhLPEFbJCiJc8F0KStw12wjjgyEeURFxDajFx/bXqRZhxCng7ywU0DqR6PGwq5FkuZ1JRAAVvzXLhH9KXdvkPa3RqttsuDucJ0AffusVP3eviB4eV3wlwi+W+lKP26Gj7mIUdB285lv9AF9xvZ8oiNPOkiq2E1cBgBc0G1CYed7YKR/kio3ElATGRKENLl/yRAU0iek19rNCozG6bW+LMKI6P3iK1+wFpEh/GQJM1skWMFwOCXD7gEHQB/sfwqH/Cyw6Ms+eEs1uUr/O3t5SmQmrKpwMEewxan+SdMicEaUalAJbJzq5CCAHvdR8zFFxhw2WIoz0Bm4ATRz84Gm+dQv21Pz41FO33dWMq3KxfgF204+bHLtfuT08hn9/8T/kBTvn5QLFb8JAWK5kno3yG2HvN/neSmqfZ5ghJoM4qnHFKrfGvg== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: This is a small series tends to support non-blocking GFP flags such as GFP_ATOMIC or GFP_NOWAIT. This is a draft version and it should be improved or changed. For example there are still hard-coded GFP flags in the: kmsan_vmap_pages_range_noflush(addr, end, prot, pages, page_shift); if the kernel is build with KMSAN support. There are other parts which should be fixed. But i tested this series with a fresh non-block-alloc test together with CONFIG_DEBUG_ATOMIC_SLEEP=y to track sleep in atomic issues. Based on: VERSION = 6 PATCHLEVEL = 16 SUBLEVEL = 0 EXTRAVERSION = -rc1 Uladzislau Rezki (Sony) (7): lib/test_vmalloc: Add non-block-alloc-test case mm/vmalloc: Support non-blocking GFP flags in alloc_vmap_area() mm/vmalloc: Avoid cond_resched() when blocking is not permitted mm/kasan, mm/vmalloc: Respect GFP flags in kasan_populate_vmalloc() mm/vmalloc: Defer freeing partly initialized vm_struct mm/vmalloc: Support non-blocking GFP flags in __vmalloc_area_node() mm: Drop __GFP_DIRECT_RECLAIM flag if PF_MEMALLOC is set include/linux/kasan.h | 6 +-- include/linux/sched/mm.h | 7 ++- lib/test_vmalloc.c | 27 ++++++++++++ mm/kasan/shadow.c | 22 +++++++--- mm/vmalloc.c | 93 +++++++++++++++++++++++++++++++++------- 5 files changed, 129 insertions(+), 26 deletions(-) -- 2.39.5