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 67B09C3601E for ; Thu, 10 Apr 2025 22:20:45 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E2D8C28013F; Thu, 10 Apr 2025 18:20:42 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id DDAD3280138; Thu, 10 Apr 2025 18:20:42 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id CA2A828013F; Thu, 10 Apr 2025 18:20:42 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id ACFBB280138 for ; Thu, 10 Apr 2025 18:20:42 -0400 (EDT) Received: from smtpin26.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 1B1481A026D for ; Thu, 10 Apr 2025 22:20:44 +0000 (UTC) X-FDA: 83319554808.26.8EBABE0 Received: from mail-qt1-f181.google.com (mail-qt1-f181.google.com [209.85.160.181]) by imf08.hostedemail.com (Postfix) with ESMTP id 3ECF3160004 for ; Thu, 10 Apr 2025 22:20:42 +0000 (UTC) Authentication-Results: imf08.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=qxZQtVF4; spf=pass (imf08.hostedemail.com: domain of surenb@google.com designates 209.85.160.181 as permitted sender) smtp.mailfrom=surenb@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1744323642; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=YqV2ZMlryT3fPt4/zyn0rx+eu8iE116L2QZwsGoNxHQ=; b=XvH9GEYmfG7FHtBLhABL5nvHo2PSazhu8tIdii0VvSAOru//ix5O1OoodN8nz9GTZdevrR atHI1iz3Cquo3K6dH+CH56w3Bpf+WzXgOegffftlJPq4Ttkn5N/555guQIxH/i/3++dB0r lb+rMS+KmwF1EroPzxge8cpspEK04LM= ARC-Authentication-Results: i=1; imf08.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=qxZQtVF4; spf=pass (imf08.hostedemail.com: domain of surenb@google.com designates 209.85.160.181 as permitted sender) smtp.mailfrom=surenb@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1744323642; a=rsa-sha256; cv=none; b=tRMXlmrgWUqtYWcDAGjlzISGkRRSBsNJ8LBYu0WGNSam9tzBXlvvkhoixY5c5WqI05HUjL Jn3Pp+cbjqW1F2zj20K7jPkeZ2qHzx9U8pc2McdIWwdS34fSZwm/qhe2bkQz66pQebce/a P5g3knt2bRiCxC+U6ZeashIlEetq6jU= Received: by mail-qt1-f181.google.com with SMTP id d75a77b69052e-4774611d40bso95191cf.0 for ; Thu, 10 Apr 2025 15:20:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1744323641; x=1744928441; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=YqV2ZMlryT3fPt4/zyn0rx+eu8iE116L2QZwsGoNxHQ=; b=qxZQtVF4LxsVSAQ3LowfXiUe46RE7Xkd25/zBRoQUZORV6iQUhG5FLbLtY/xZdXicI r5dBGbeUwDJaKKhPAdiXRroAPCbskx907Xh6oESqIhDJD/asu2oTAhsCF2fYY3wwxqgY 3PikSpddd/7Gqxbr0FkFMn/R0riLzO4SBsJXWKwDrhe8D5BmvTnVjp16Yh2pr0TBHxko yBY1nOcu7JzmlwIg+rNCOyqOgjHQNGOGYZjgJfliPCALj3PNEG+byevvsUrjn5aV+S8E Qobk10aUt6G8tZsYmyzG2PxbpF7CYpYWB7UllEWxEgQT2iAU0mKr4FMeLEG1FR27mbnC g90Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744323641; x=1744928441; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=YqV2ZMlryT3fPt4/zyn0rx+eu8iE116L2QZwsGoNxHQ=; b=YMIGvZQ+XH0s6FM2oL97TORH6iWr4P20T96FncrmOG27+kOVCJgsXM2iVAIIb3B4Q+ cOzsVEhwu5jGm8rSVMYK/qJmDfn64zRPyz+cEIgHeEC3be8ofY/lwHESzLY3p1BU9NxA F20/5QuU3jwMVRxCL8a7eaO3I/bN0bj4e0D3paqjM6gjakbm3FsYBfJpoFQD07ZbWcSB ICuVvwuEldI/ccPS16F6rknrDaNvu0JMw6CAzZZ/d3YgFzlAW5SiFN9e4vYRnJ0H5hYF nHbxBMFqexWaZioPQAK+IgXXG3qSgtMhu34xtcwhmqzCp9hL1f6TzW9FX19ZJnINSzdA IDBw== X-Forwarded-Encrypted: i=1; AJvYcCU7a4+044nBwIrWeagfHLk7J1kOeOVPVWJzchXwTwicZ2C5MNnX5Weo3BnUv45P6uvJjAnl7Gdygw==@kvack.org X-Gm-Message-State: AOJu0YwtO95GfsRONWtKe1kKe2+IBym85pQLmyfpSwLhCZQFxXbG2JKR YJRh53fRW6jXbWu+pHGqK7g3/IG0OjyPz2rKtuFyTp6bNqzOp5jauG81wTilFnHArp8XEMkG1Ev QoeI4aQKx+HFtx6aMoyz7RtMvMiZovZUAvEGZ X-Gm-Gg: ASbGncuy0BKUv39J4S/kqvaRr4BTZg8vMfR2639uI6UsWxW+gHvSepaVYU/p2+mtA3S CL5A6tXoleA/yLt+LdJj9MkImOdD+9U0S4IGEPg5vHvaol4d7c16Dwb6VNsiJL2oSossxVX20bs tS+sslcIfdMc9kUAmSZ825 X-Google-Smtp-Source: AGHT+IHwADXMs6qQ3nDUgcJ0NYP2Vl4CNhd7gecjcysD9CcCEf1z+TL8Zl+UcA/rAZmsRQ3BtXfCEXiYkQ54ngVEBaI= X-Received: by 2002:ac8:7c4f:0:b0:476:77bb:687a with SMTP id d75a77b69052e-47977894b4cmr511231cf.21.1744323641024; Thu, 10 Apr 2025 15:20:41 -0700 (PDT) MIME-Version: 1.0 References: <20250409225111.3770347-1-tjmercier@google.com> <20250409171238.494fd49979b4607bff9791b7@linux-foundation.org> <04f4cff4-be7c-48d8-b24e-535ccc67d908@huawei.com> In-Reply-To: <04f4cff4-be7c-48d8-b24e-535ccc67d908@huawei.com> From: Suren Baghdasaryan Date: Thu, 10 Apr 2025 15:20:30 -0700 X-Gm-Features: ATxdqUHfHaEyJNVqpBNRufpxneK936qhnpUHUFniBD_AS_aYP6_DNoLrort5z0E Message-ID: Subject: Re: [PATCH v2] alloc_tag: handle incomplete bulk allocations in vm_module_tags_populate To: Yunsheng Lin Cc: Andrew Morton , "T.J. Mercier" , kent.overstreet@linux.dev, janghyuck.kim@samsung.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: 3ECF3160004 X-Stat-Signature: nrxkhjudycs339dc7wgrd7rfwqutzww3 X-HE-Tag: 1744323642-969681 X-HE-Meta: U2FsdGVkX19CYG+8EzwXzj5ZeWQ4VAKPOX3GGaPnf7MM/Vzu09tQwUN9aPpj7JMJm05/+Cc0BZQMFK3VCP4LKBxaSwMWIz9Gx8Y2vVt7wzuD5KYVTM1NZkuVF2OUJ+qk7rkkCjsoUum28xn3C49iF+E6Iv5q2vtQZV3bSFijzcJ0fl2oTDNH+RPIIXgHaTfipr2GKtPdVfTdEBRlVau0pJtjXytgcpJFaHRevaP117WLx16QFH633i2AnIKRcgsicGYM37B22vaGLcC3nLYYwKeJVMRgYwFsTu2d2hWSrUI2JoRAbxlzcd6LNssbiubSvswPYBSpNfPXI/DxgbcUAXiEFP3hM1VDETlDkauoMEKb9CqcpvLelJ0+LAPZa1YtUKt/ZnVyTHz0RIhNzn0gPtOOWSk7ZM7A1SIPgBwm9gbdWEPCx6Ggmg6cDzg5dRb0tPDWywvd49MQp32X2unYoMQYgrQdt6liYkXnCv0IojvWMwpmgHjtPqbWI6O6SFGtZM+dV6NcCx6uBEyAq3iyhT0OWqBrNYsx+IXwVyo6Si6Fdi2fEq4uorQzTS/FNrezsSgYaMKTA/bLmHSisEwL/5m5e2VNKLQSO8ZTOQQAVZf7D8+oaeCy0gdajQDFoQY67bVrI0bTutfJkNG0JEwNOicjpftFp8bc8PbhEVFjY9mGJXJLuoGku/Jg/VDsMNCK9hQOH518olMQzwyuGt2ad/+edBgD4vhb448HEG+66Fe5Sf1e9Mv9lQbvnYs23RXEGJyQGGtw7v1Pm4n9q/33KuOxgOu+a38LVRDLTRm+2w9I8+xGqoLwmLDoVngMB2jUXHrhA1BPvEwVrNwuqbKIH+XKexDL8oZw+t8OOVxa6lzcZUEB1T9XqD+dWtnWDYPo7ZsH9ufYDvq2nmIHqdw22BVUsjIUUq9wl/PgLxzlG5Scy9FGdVGDXaZXOFrWdv9BNiSzAhb60RqnsAGDncn urEXcgGZ dffFMm4gOyNfBpTtSUd21tNz1gS9BVnRPzp/V2LtFenq2cqEw5V5xukCRf6yqqD50RZRvJFXN5ZSa6ujynr/dRndn7pUo/s6YRuQ5VBWx14/WfhD42B/LgvCPHQU70NX2Hluviaze/McBcB+69xSODQ7jSY0hvv4m38NrNnda51rd8hCqEEAFohh2JMaFUWwYsg8LHvj1VxXp5Hr18WES7vCRF1Lh+jEMWo3HTDq9gcZvN92wIOVFiCME+oe2c4pnnmd+DzHK2E7JVPyvh/gOKkNHQ48Gr6x2bbRPjPJYj9K5RrWD6R7x2fLK3mjZOR/cHz0BIIzvIl/HzGFt5H958M/KsQ== X-Bogosity: Ham, tests=bogofilter, spamicity=0.137267, 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 Wed, Apr 9, 2025 at 7:52=E2=80=AFPM Yunsheng Lin wrote: > > On 2025/4/10 9:44, Suren Baghdasaryan wrote: > > On Thu, Apr 10, 2025 at 12:12=E2=80=AFAM Andrew Morton > > wrote: > >> > >> On Wed, 9 Apr 2025 22:51:11 +0000 "T.J. Mercier" wrote: > >> > >>> alloc_pages_bulk_node may partially succeed and allocate fewer than t= he > >>> requested nr_pages. There are several conditions under which this can > >>> occur, but we have encountered the case where CONFIG_PAGE_OWNER is > >>> enabled causing all bulk allocations to always fallback to single pag= e > >>> allocations due to commit 187ad460b841 ("mm/page_alloc: avoid page > >>> allocator recursion with pagesets.lock held"). > >>> > >>> Currently vm_module_tags_populate immediately fails when > >>> alloc_pages_bulk_node returns fewer than the requested number of page= s. > >>> When this happens memory allocation profiling gets disabled, for exam= ple > >>> > >>> [ 14.297583] [9: modprobe: 465] Failed to allocate memory fo= r allocation tags in the module scsc_wlan. Memory allocation profiling is d= isabled! > >>> [ 14.299339] [9: modprobe: 465] modprobe: Failed to insmod '= /vendor/lib/modules/scsc_wlan.ko' with args '': Out of memory > >>> > >>> This patch causes vm_module_tags_populate to retry bulk allocations f= or > >>> the remaining memory instead of failing immediately which will avoid = the > >>> disablement of memory allocation profiling. > >>> > >> > >> Thanks. I'm assuming we want cc:stable on this? > >> > >> btw, it looks like the "Clean up and error out" code in > >> vm_module_tags_populate() could use release_pages(). > > For the 'Clean up and error out' part: > next_page[] array might need to be reset to NULL if user is able to > reenable the memory allocation profiling when the above happens as the > current page bulk alloc API are only populating NULL elements. We shouldn't be able to re-enable memory allocation profiling once vm_module_tags_populate() fails. In that case shutdown_mem_profiling() call disables memory allocation profiling and sets mem_profiling_support=3Dfalse. I might have to modify memory_allocation_profiling_sysctls to prevent users from trying to re-enable profiling via sysfs if mem_profiling_support is set to false. Will take a closer look at that but regarding your comment, re-enabling profiling once it's shut down is not a valid usecase. > > > > > True. I'll add that into my TODO list. Thanks! > > > >> > >