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 E3181C8303C for ; Mon, 7 Jul 2025 07:11:41 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 40E436B028B; Mon, 7 Jul 2025 03:11:41 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 398406B028C; Mon, 7 Jul 2025 03:11:41 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 286FB6B028D; Mon, 7 Jul 2025 03:11:41 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 11EBF6B028B for ; Mon, 7 Jul 2025 03:11:41 -0400 (EDT) Received: from smtpin22.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 5C78110A004 for ; Mon, 7 Jul 2025 07:11:40 +0000 (UTC) X-FDA: 83636598360.22.C72FEC5 Received: from mail-wr1-f41.google.com (mail-wr1-f41.google.com [209.85.221.41]) by imf07.hostedemail.com (Postfix) with ESMTP id 6EE6C40008 for ; Mon, 7 Jul 2025 07:11:38 +0000 (UTC) Authentication-Results: imf07.hostedemail.com; dkim=pass header.d=suse.com header.s=google header.b=AUeW10LA; spf=pass (imf07.hostedemail.com: domain of mhocko@suse.com designates 209.85.221.41 as permitted sender) smtp.mailfrom=mhocko@suse.com; dmarc=pass (policy=quarantine) header.from=suse.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1751872298; 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-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=mhpmcEfpmP10cZ/KxQHb4VkQYn5Otwx0q5WEU7PxZY8=; b=UyvcT4kQtJuFimgwagN3LRI9ONohwqHjgyuDxKhqjdbjfpBdApzResImdOaaD1fZPcA6lA 8fQJTuWXgL6q40TUpCurgPZN9jfYfMPWY7jMERVqAkAB59EWzdFVAIYQpDmQXRfISWqWLu risPHvo5k0KroouxvbRrIDD3CJLXimg= ARC-Authentication-Results: i=1; imf07.hostedemail.com; dkim=pass header.d=suse.com header.s=google header.b=AUeW10LA; spf=pass (imf07.hostedemail.com: domain of mhocko@suse.com designates 209.85.221.41 as permitted sender) smtp.mailfrom=mhocko@suse.com; dmarc=pass (policy=quarantine) header.from=suse.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1751872298; a=rsa-sha256; cv=none; b=Wwhk8mJwieYY7o/uZPfGiCK5YqV8ENKtRAwPdaLELJBXZS9/o1xv94eKUm5gXpMiAhMD3x LaWBREnQKXyem44koRxsBORbDDDIzp6cZdYBpzzd8Vb8w59TknEAW7k+LQ6S9LRQjUYpT2 5EWKRVSDn4zyCS3kkJarEYwbmffJqtw= Received: by mail-wr1-f41.google.com with SMTP id ffacd0b85a97d-3a507e88b0aso2203752f8f.1 for ; Mon, 07 Jul 2025 00:11:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1751872297; x=1752477097; darn=kvack.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=mhpmcEfpmP10cZ/KxQHb4VkQYn5Otwx0q5WEU7PxZY8=; b=AUeW10LAKDk4F3zAAaXDRwtWSbQLIl18AjnNTgjo7nIzf4z1mIAddoDdsaGYgtt4Ke 4Ev5uR+8kImcKJzmQldBATCp01nAhWZ4J0K7uIzgkPzkmTOG8+u9Yqp/tZfksr4yClz7 QOLcFM3sQQBOxMALkRyRx/PBu4ZG1Tkg6af8Lhv0mpFr2M0DV51c0sk21QDoOlaClArx 6tPpaK7jYzKrQbajtj2nPzZXTyI7Qfx4TFiOVTYr0WMhZCX5Liqa7yCsYivQXvZi+yjl itVYNVXJ/jr3zZ/UTteRaLBGTD4IDBjJ2OGii+ATNffEfvkgz4UuK/l+7XkpeF4TTbW+ hxDQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751872297; x=1752477097; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=mhpmcEfpmP10cZ/KxQHb4VkQYn5Otwx0q5WEU7PxZY8=; b=jG935CrNthYLWU2ng/4WttsqAGKbjt7qPNSMnmpbHZ0RI3pNtPGUgv01pYOsQ3Pmg4 lWibcp2vXqQEwjyGnGDZyI2q16+2xWVI3Vz/4u/gTcrl8tQ1OJqUzVDqXx9BMucThD+3 TPwy4uHzHYdhnCs8aC/SfcEgeze4OulkZaJ9nPzzaI5cOgaHhx1IQ2F5D3Hn3niAJqjU UZIFh4fhhfDRik4sry7Qzv2bYrKqv6WAGeRJ80kBEkLdrgR9HgdT8wvelMollyIWDQOQ ajLirUlmt8+l/U/nZrnVWMIFN3qI4jTY9XxO3K0C0oZPt3JfEQvdPPxLjbkRWWoieqHi EX6Q== X-Gm-Message-State: AOJu0YwV3RE64ARL9qWoaIHQ0DW80vM8FLNahAX8q+48Bjisn2LqNkOS LMUle1L/bSU+4S4NA1dQqhZ813GF2rVeaaHACs9W2JmYarCv0M5p4JBkwCdvWoyCfB8= X-Gm-Gg: ASbGncuruz+67T0d+/ohBunYApYqllJbQEPRnQKnkPxY5oQwpyIDW4e2cNLoszDbXNV bWP4hTwQpbpQdyRNyzDueXwzhbENNJMmRaxu+l9IvWUIaZ6fBSoWZhyC9Qz6c+YF80jPZt6KKr8 C2C0MhLvofr8sKIelbMZuI+0nhik4LO6NP9cfG0SpTbplWfnmcP80C+IFbboL7RlrxAeKfRqc+o lOE7nBkfFCH5W6fBGVXToShzJoWnD4z996pa1gzbBNkYFpcoMXHLPq6i714vXNFvvq3uQwxAXcP aoleq+0IpfIdkJXAqj4JpZtLC3yhKnbeyXxrvYVrij5vS8ZcA+IrPW+Tfe7lG9N818w5R1f4whI = X-Google-Smtp-Source: AGHT+IH92dqetXit3ZJCizl1QYi+uzMQpWlbHYRZOw7IVfprOTQBcR+Z3r5aSrbsz/VpOdBwLgy7pQ== X-Received: by 2002:a05:6000:400a:b0:3a5:8d08:6239 with SMTP id ffacd0b85a97d-3b4964fed61mr9032469f8f.21.1751872296703; Mon, 07 Jul 2025 00:11:36 -0700 (PDT) Received: from localhost (109-81-17-167.rct.o2.cz. [109.81.17.167]) by smtp.gmail.com with UTF8SMTPSA id 5b1f17b1804b1-454a9bdf038sm132858925e9.27.2025.07.07.00.11.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Jul 2025 00:11:36 -0700 (PDT) Date: Mon, 7 Jul 2025 09:11:35 +0200 From: Michal Hocko To: "Uladzislau Rezki (Sony)" Cc: linux-mm@kvack.org, Andrew Morton , LKML , Baoquan He Subject: Re: [RFC 2/7] mm/vmalloc: Support non-blocking GFP flags in alloc_vmap_area() Message-ID: References: <20250704152537.55724-1-urezki@gmail.com> <20250704152537.55724-3-urezki@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20250704152537.55724-3-urezki@gmail.com> X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: 6EE6C40008 X-Rspam-User: X-Stat-Signature: oqn7j85ej3g7zqj33dzfr6ro16a8ycwk X-HE-Tag: 1751872298-442164 X-HE-Meta: U2FsdGVkX1+dUAaszv9iNBB79uqOeukE54YLVq/V5/KCsGddy578+6Pe2/jwIijYD4l/fLS2uWZYFcnIpr2IoE09PngUZ3K49eIAl3qydKQBolkgh9rmTEDNgtzDCmhYCdPMIW8brrhoLv2uNtspeeQI+CJTDydzlGEzYnt/Lvjvpm/1h9r1oAeZajKV4Rj3qocDz5eB7X3/5uDN1xGdbGOAI7N+Br9oRutm7mSyr4VbJlxenI0zAcKTQY1ROYaTQWBqyy3oSZtaIGZeiMdfUMmTTLPpp7BWXZRlv+yCn9muQyEfy5f/MiLeVNm39U8b0VAp+3tRYffzf1gwr5IXtP8Fa63JX79/8NBoBIh+fVpDfS3o8pfF7iHCGdgRSTzAj32bUDW8f5lKKrTLniUxydgZWi86+Lkt3aN0+1sTWU0pFQuJT2VA/7e/RXFzSmozpXyASKIVBqC0mPQnvMpGjQQgmd9bCElsd//EC8NY8pb9hQCzQ1Wvdhe11VInOi/8Hkq2PbU4VPt3lRbg3qc8MaUY6Z8qjG9hb7bmj78pS9BrGqu/u2sz2ojkElmnck9yX160BaTiP1H0QFVQ8SkGWR6GVZUfSf9WHZIpczAHAbGD4+hw0+AtDMKpHGFrE3x9n3vEDAcwuDMwrw9I3fOGckKEeNfnmiJsMdbC12yTqEDcVQGNnMwAPIDevGSuvdcbu0/lD5rM8AcU1RheZDobbB9K+b+NkwaZ1BTfKJdspP+3AJYPkPd9hsGZAuQu4iyLLUWcf7DeJhRlDcjiuqABW3DiCdg2qMrSZsxdDOr31z449AHmiYkY4WN1CyRctFMvd9/+CDlXHoxweAdMYUs5fIE5fVAuTxHW8f6tjtU/LAQSiC+zSrrtqSdJBzMWmksJuRFK0I0E8u1CM1WSSAAXFwMht51jJu2eoThMkk0jr+r2aPfwc/03UKlAN2t99Ohst4rNs7KEGduzm1bJY/i JDKA5VHl DY1fVngcOWIMqXsLEcAx8fUa2wK5z6O34yOZtvW15QTuC3D/CiXgY5H565jZBSztBLem5nR5QS+oXiWJ9pf2jD01kxxweye026ZqviES/txGZSJOMd1qvXkYUt9XpcZiCSWYOg7CXxCeU1e3O+KyViAkGvc6xQk3+KVbeeTbT5adhP9LS+a6qNmkKV334wBDH2Rg1UlEU1b55USakxiCoMQx7Kq4Yc9pKvyM6QJqH4bG8WuJzEeNdv+KEQ91uDA0zLjnl+UVgsUAHnxx8R+6KJTdc/0kl0tGcXv29XSydau85snP95voN8Vjyuaio1PQ1q87E9oj9ZBFje2PQ3tAXm7HTownggqugivTd6skvHw+ZA3c= 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: On Fri 04-07-25 17:25:32, Uladzislau Rezki wrote: [...] > @@ -2030,7 +2033,8 @@ static struct vmap_area *alloc_vmap_area(unsigned long size, > */ > va = node_alloc(size, align, vstart, vend, &addr, &vn_id); > if (!va) { > - gfp_mask = gfp_mask & GFP_RECLAIM_MASK; > + if (allow_block) > + gfp_mask = gfp_mask & GFP_RECLAIM_MASK; I don't follow here and is this even correct? > > va = kmem_cache_alloc_node(vmap_area_cachep, gfp_mask, node); > if (unlikely(!va)) > @@ -2057,8 +2061,14 @@ static struct vmap_area *alloc_vmap_area(unsigned long size, > * If an allocation fails, the error value is > * returned. Therefore trigger the overflow path. > */ > - if (IS_ERR_VALUE(addr)) > + if (IS_ERR_VALUE(addr)) { > + if (!allow_block) { > + kmem_cache_free(vmap_area_cachep, va); > + return ERR_PTR(-ENOMEM); I would suggest to add a comment for this. Something like for blockable requests trigger the overflow paths because that relies on vmap_purge_lock mutex and blocking notifiers. > + } > + > goto overflow; > + } > > va->va_start = addr; > va->va_end = addr + size; > -- > 2.39.5 -- Michal Hocko SUSE Labs