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 2A395C83F09 for ; Tue, 8 Jul 2025 12:34:36 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B2C9C6B0317; Tue, 8 Jul 2025 08:34:35 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id B03EF6B0318; Tue, 8 Jul 2025 08:34:35 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A41706B0319; Tue, 8 Jul 2025 08:34:35 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 90BEC6B0317 for ; Tue, 8 Jul 2025 08:34:35 -0400 (EDT) Received: from smtpin23.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 3DDBF1405C6 for ; Tue, 8 Jul 2025 12:34:35 +0000 (UTC) X-FDA: 83641040910.23.2FA4B9D Received: from mail-lj1-f177.google.com (mail-lj1-f177.google.com [209.85.208.177]) by imf19.hostedemail.com (Postfix) with ESMTP id 377F91A0016 for ; Tue, 8 Jul 2025 12:34:32 +0000 (UTC) Authentication-Results: imf19.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=hCianKra; spf=pass (imf19.hostedemail.com: domain of urezki@gmail.com designates 209.85.208.177 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=1751978073; 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=n+JkPlumNTbxgwgF8kLIrGh4tq+DhXPrXWerFx8vvu8=; b=sgHYA/kwA55nsOf0Gq6+r1mAqN9lKzZ/gF3RkB/SO4yFAGSi8DTQ+GRNM1FuYdfW95XLFo x/Cn8EhiVa0vR/Kc7IKL2AE6S6bInhk3+SdlbHaduzQC59eCU2sRiA+TJqgm4Ml7B1kqTs VXskXmXGqM5NfTeeD7pG861trK7qRcI= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1751978073; a=rsa-sha256; cv=none; b=SwzC1aSwHDM4Vezlh1/R/vgCku//CkeRcnm3xutBCwfYYAYCFuu6a5JD8OBkvAMJaSn45y pZbgEJXpex4kESoe56GmS3n2ATVcv++08TdTfVQAUlbTSRIP08LsDRkdEIYVV23g4ROe10 hKPEL2YLk0b6aLI4mV75J0LpWtH5k6o= ARC-Authentication-Results: i=1; imf19.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=hCianKra; spf=pass (imf19.hostedemail.com: domain of urezki@gmail.com designates 209.85.208.177 as permitted sender) smtp.mailfrom=urezki@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-lj1-f177.google.com with SMTP id 38308e7fff4ca-32f1aaf0d60so34488631fa.1 for ; Tue, 08 Jul 2025 05:34:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1751978071; x=1752582871; darn=kvack.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:date:from:from:to:cc:subject:date:message-id:reply-to; bh=n+JkPlumNTbxgwgF8kLIrGh4tq+DhXPrXWerFx8vvu8=; b=hCianKraP6E6fgqGzbuKNllhosvsSi2E5V7zhLBcRtE0cSfXJ38MI/oXSAG3bVT0Rs 1hoMaLWZ0f13GHcUFI+hqPKp8VqVYclLrQj8kYcDkTGQ/EhHvxDDDuVKsDR3p5REq5rY CszNGvAWP4ZVDD1GodvILYuiAtlTBL7RagabIGrQQjhbWhqb6vMZ6g3AJqctPY6ndxNL 5QoS8y+l+vau6RN+BH3PoIYQndbBwcfaIQEHcgIckQrOhR1r7rK59wmtAL7BaCFcN8m2 3gxrgk3Ous9maIM7+PvbsTOwPRRQ5M/bZG9WS/3O7HQmaqA/MKvYT9b4LVXuqUFjI8OB uIJw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751978071; x=1752582871; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:date:from:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=n+JkPlumNTbxgwgF8kLIrGh4tq+DhXPrXWerFx8vvu8=; b=rh1IUL8QeACoOodaVuDL9lkUgf0ihY0/Sa51xdP1AwXzWypImg2BTczCGU7jtHVC0v /kHhJsauE2Tce4nUFRQDJA0d9ZLBudFKk4E4xbHXidJSBhheaZWhXlLGFwTbU7Q8PoRv Jn+F5yPZHdrCwc44FU3sFPj3kCSQYBz3Q10XSDYMPv1MVAKJGe7do82qRkpfSBNwtjvs fBFU2ggLI6ZW3vH1WJq8g6awydTMAf/xXrCz3Z8aKxIc8oxlBhXIHIGEHfrudS8v/bsN K9AdZfo8peJgPfDl2hjutb+ZLrvF23J1BCFtw8UwIW0yUV6psl3Pdr0c88ayaL6NdEOO sT4w== X-Forwarded-Encrypted: i=1; AJvYcCWdHOGdZwFeAtWHXoLKwOFaQoVVtj+MdItgExBE60wrBKdS61PYQYwaOlttznyO3XZTyWOCxzynrg==@kvack.org X-Gm-Message-State: AOJu0Yx/SnRheFJVyNHdcT3kLxsDLfPX0MtTbYBrX2lBnaUF5DUkq39+ u2dO7B4hfE+scbCcd86hJUZWhn7l1WjnOl6pm/V/UFz5onAk+grHUQ5P X-Gm-Gg: ASbGncsXxEPggZS2scLfxiogR44QOZXmu2yNpQjB7fbCgcYy+fB7XQyiZ7hG0bRdxFT RR/YFWYTRJbeIZIp6US92xPfDfT6/zywNGXs2mNwrxwRnbgwCbBuakkVNEV6cRanCSQwgpb4ycH 1Lbt4AqNPVCSPRY5CGhJDFtoY3P+PbcmnhoXOeTzD1ur8iVdTIbpkhUh49JxhsyVriVq3oRxzei JzmnKfcNV39tRQFAfxAkH1dzMQ82zXj4hK6F66hfdg4Glkuy2GbsJPZEjQK5ulj1aBgKWJ7WdFw 522valeZGOtWuQq2fPoVCQSD+QNiYf//e0Sf71VGenIs2TDYWIv0G375u+/9ASieQ8E1H7TnOkT Ranc/s56WlWs= X-Google-Smtp-Source: AGHT+IGslitvCMgfD4hwG2DI9E5eXm6p9TwNVlZAs/AD3mbRSrZGkM0LIz1pPn68rQKvPUV12fFubA== X-Received: by 2002:a05:6512:b83:b0:553:381f:c45b with SMTP id 2adb3069b0e04-557f8322394mr1134312e87.19.1751978071092; Tue, 08 Jul 2025 05:34:31 -0700 (PDT) Received: from pc636 (host-95-203-1-180.mobileonline.telia.com. [95.203.1.180]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-556384a8400sm1646812e87.164.2025.07.08.05.34.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Jul 2025 05:34:30 -0700 (PDT) From: Uladzislau Rezki X-Google-Original-From: Uladzislau Rezki Date: Tue, 8 Jul 2025 14:34:28 +0200 To: Michal Hocko Cc: "Uladzislau Rezki (Sony)" , 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: X-Rspam-User: X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: 377F91A0016 X-Stat-Signature: qe71ug9qhz9kr3s154cmj18yhkidno87 X-HE-Tag: 1751978072-819542 X-HE-Meta: U2FsdGVkX1+U5Xjs4Ilw8n/DDi0jIalKnDvFDV+LD+FUXlK5QzPL8AIooeTs35WpZuZ5hzhnyGZ839ZH7iGZlchu8FIifW7E6+ttBHmeeVf018qJv05QnB0+vxWxIjf2EcU3m27q5pI+1EsVt1WIOGzkYFADcZquTAnUahJt/aWgzKnH0K44ARZZxl3SnwSk9dDwSevSXJpjAIvpixHqJBYqKOd3eKaVl1EtSiWrUKemyyp7Uc82qnMBC/FAZKHK8Q/K9bn3uDEzj+gVzuyNoPidUzA59XpFU+d8Ru6T/6Gniu0hzYOqQOTLLQU1Tsb7KIUmcvmcM5qrPKyXl8R5gbCG4pNh2d8eG8kuFLK//QvlAE7yDO1U+G2wLafo4hw6/zyBW82mZYrgl/vCrWozyP9F19WvmFU3ZJKJU7B9ifJ3g4nmonWBDmYiG0Jz+A+TF4Oo9apfScwXQ5ETjgxnEM2eMUzoyQ9+6LtgApJlYEldjEi7k/EnKkjRRjrpNKMOGK4fKGIs1sCeToagW/jyWhwU7DKlc6HEdqwyojqmR1V90mmzZCEfsAuwnX/QaN4x3ObCwz7yDFWbnsri2LAPXsdExq1zf5+S3vf3C5p3BfzSbdrRa7c3W8I+0sU6vIwODuLmsC72f3Flpngah6lFVlc+7LG30/oyCPTx1CHFeiHpRepgZz7AfAeR7D0AEEouRfHYkiQWXBdJPJLgVJMei7vsMn2Me4bXUMmdczCuoj0a/RV8hWXxAhYfTfv6m0WkopWTVyWcxn8yvfnNyWS9w5FeuX3TIPTR3oC9cpaJz7v19xqaKzEIIl0NtXjfUmlSS2+bo6RWC1QsY9XOooN7FvUr4EsL7PdhBONevpwJc+e0RygYva5/u50FgXQn7/7DiyWRkdzmrmrE5pAVr1l0kzraP+pnUSjDOvr9Tchg9js+Xj2Mb6QPLOXffU8qtoGdwhToGJ9sAP+WQ6XvbnR smGAKNox i+fegP2X3AU/W7Hb+3tnjOfhlMGa4bksD0GN/L0RDChedyWWqLzLbAdilLM8FKuaUOOXIeUnKLSwicq+9VmDPrWB/qTKMvmJrgCRhy79v/7XACd/1mQmw1goSOmxIgXfS6UjdKj22vzDpYxigG+SwpVkdNv8sUQ4/LVNa8PFWzaQ6EQ1Bj8Yp8zBamWU4jETHMpJwL7ZC0PvY6zOuuqn7BkACt6ZYRCj31gmwgx77Aix4G41BGSRL6dXJ/l8dD1UJa+7PH5QhIcP05wDvLA+pR4Z2Nsl8BTv4cg7oRGNzPWc8oLmUjXOOjFN99tEjbWH+DaJbDm0++EIuxmT1y9lJlRSo5cTIZFkX3Kx+2FhH3/7PvVMkb4QKmtaGh8XIqTWDd+TW9j4IBW4SZ2YvDPForCpH5epB0ZzNK9sSEhVkkUvSB2dEdSI5h7KAZSgi5h7hFPMbQqYIJcNn+GY0ZjFBDL+7tVK9le3J5KoJ 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 Mon, Jul 07, 2025 at 09:11:35AM +0200, Michal Hocko wrote: > 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? > Allow nested flags to follow a user request if there is a request to not block. For example if we apply GFP_RECLAIM_MASK to GFP_ATOMIC GFP_ATOMIC is converted to zero, thus to GFP_NOWAIT. > > > > 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. > Thanks, i can do it easily. Also, this is an RFC i think it should be split and improved. Maybe to move out some functionality into a separate function. -- Uladzislau Rezki