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 D548DC47DD9 for ; Wed, 28 Feb 2024 18:28:11 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 5B0AE6B00A4; Wed, 28 Feb 2024 13:28:11 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 561076B00A5; Wed, 28 Feb 2024 13:28:11 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3DA286B00A9; Wed, 28 Feb 2024 13:28:11 -0500 (EST) 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 298A56B00A4 for ; Wed, 28 Feb 2024 13:28:11 -0500 (EST) Received: from smtpin19.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id D1CEB1210F3 for ; Wed, 28 Feb 2024 18:28:10 +0000 (UTC) X-FDA: 81842047140.19.78D529D Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130]) by imf25.hostedemail.com (Postfix) with ESMTP id 73311A0018 for ; Wed, 28 Feb 2024 18:28:08 +0000 (UTC) Authentication-Results: imf25.hostedemail.com; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=ZPxRODIg; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=kXqEJKXA; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=lzwTXBmR; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b="K7/pGILz"; dmarc=none; spf=pass (imf25.hostedemail.com: domain of vbabka@suse.cz designates 195.135.223.130 as permitted sender) smtp.mailfrom=vbabka@suse.cz ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1709144888; 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=u5+mCXb2oxOlDfsxFtS236UJWrVmUWVW4KbIf8DfAn4=; b=pX9diO9b7VxhxIDSbRNE0RgpgrX4qBiqeH7dcnQsv4Se1vasvtoTMZ385FOdEmKTTuR5xR mJjSowmqPnPSShJEMKYejuauvS/FzFffazK7tIHqQKwAPgkEIbR8uf3FHdYh2KBhcbFJEf 85xUckoDknode2lA005nwORTVkeaHpU= ARC-Authentication-Results: i=1; imf25.hostedemail.com; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=ZPxRODIg; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=kXqEJKXA; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=lzwTXBmR; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b="K7/pGILz"; dmarc=none; spf=pass (imf25.hostedemail.com: domain of vbabka@suse.cz designates 195.135.223.130 as permitted sender) smtp.mailfrom=vbabka@suse.cz ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1709144888; a=rsa-sha256; cv=none; b=J0mbCyu16JKS6QWEOqWC7jXP5rqWGdU8dKJDLRO46GMazqbdxpng6Cj6ipOUHPiyi6JAFq Fd2EhxhkwwSrGse+WvRuLkhI61cDSG3FfgaP5m5aPELA3VXqKiMFdC5wGUeriNAddKHL5m TDcPUiZ6rr9LdiRMBdcpJjNXTYxnIjY= Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org [IPv6:2a07:de40:b281:104:10:150:64:97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp-out1.suse.de (Postfix) with ESMTPS id 96C8E2259A; Wed, 28 Feb 2024 18:28:04 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa; t=1709144886; h=from:from:reply-to: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; bh=u5+mCXb2oxOlDfsxFtS236UJWrVmUWVW4KbIf8DfAn4=; b=ZPxRODIgJuBC/kk3bKWl/fqC1Sfyudk0vGJJkm74L2ILUYXVZDYFKC7QLCbG8BoZfFfnuO 2F5Y9sWwEkEx5uGUYjaoCqwl/ENpnPeD10I3Om2S5Cun7+hfdohyNZ6fIr5VMivmAvOzWw iiVeA6/W1sayC/DjSc1YVcFCA2hPS64= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_ed25519; t=1709144886; h=from:from:reply-to: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; bh=u5+mCXb2oxOlDfsxFtS236UJWrVmUWVW4KbIf8DfAn4=; b=kXqEJKXAtS54C2U4OLK3xcLGEe0opZ/tDK7QnBXntatpViLNLLzG938b4EGqOLURbeGaND /oRSC6c82o94pPDQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa; t=1709144884; h=from:from:reply-to: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; bh=u5+mCXb2oxOlDfsxFtS236UJWrVmUWVW4KbIf8DfAn4=; b=lzwTXBmRXkxN7gO7SJLCYCtmmofqbF1HrCjq5bznG+IgfvcAWdRTeZ3EhUd3U5GqxBzYJf Kg7uOFCn3GbKV1pFoGR7rDwj027aADKyrD34Ivv+yi++YDMuQBnVPxJGtUl08OAVrvwVKd DdjyLH60n1iN1umSCH9NlibdRc2WAns= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_ed25519; t=1709144884; h=from:from:reply-to: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; bh=u5+mCXb2oxOlDfsxFtS236UJWrVmUWVW4KbIf8DfAn4=; b=K7/pGILzfHFsjg6IJPzTgMwsz1KP2WTfZMzbOuLg7OGmntvIBW9iQPiorJV3J4dAp4BNrI 2rbvzZOpwfnNiRCw== Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id EFC7513A58; Wed, 28 Feb 2024 18:28:03 +0000 (UTC) Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167]) by imap1.dmz-prg2.suse.org with ESMTPSA id i+05OjN732V+LAAAD6G6ig (envelope-from ); Wed, 28 Feb 2024 18:28:03 +0000 Message-ID: Date: Wed, 28 Feb 2024 19:28:03 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v4 19/36] mm: create new codetag references during page splitting Content-Language: en-US To: Suren Baghdasaryan Cc: akpm@linux-foundation.org, kent.overstreet@linux.dev, mhocko@suse.com, hannes@cmpxchg.org, roman.gushchin@linux.dev, mgorman@suse.de, dave@stgolabs.net, willy@infradead.org, liam.howlett@oracle.com, penguin-kernel@i-love.sakura.ne.jp, corbet@lwn.net, void@manifault.com, peterz@infradead.org, juri.lelli@redhat.com, catalin.marinas@arm.com, will@kernel.org, arnd@arndb.de, tglx@linutronix.de, mingo@redhat.com, dave.hansen@linux.intel.com, x86@kernel.org, peterx@redhat.com, david@redhat.com, axboe@kernel.dk, mcgrof@kernel.org, masahiroy@kernel.org, nathan@kernel.org, dennis@kernel.org, tj@kernel.org, muchun.song@linux.dev, rppt@kernel.org, paulmck@kernel.org, pasha.tatashin@soleen.com, yosryahmed@google.com, yuzhao@google.com, dhowells@redhat.com, hughd@google.com, andreyknvl@gmail.com, keescook@chromium.org, ndesaulniers@google.com, vvvvvv@google.com, gregkh@linuxfoundation.org, ebiggers@google.com, ytcoode@gmail.com, vincent.guittot@linaro.org, dietmar.eggemann@arm.com, rostedt@goodmis.org, bsegall@google.com, bristot@redhat.com, vschneid@redhat.com, cl@linux.com, penberg@kernel.org, iamjoonsoo.kim@lge.com, 42.hyeyoo@gmail.com, glider@google.com, elver@google.com, dvyukov@google.com, shakeelb@google.com, songmuchun@bytedance.com, jbaron@akamai.com, rientjes@google.com, minchan@google.com, kaleshsingh@google.com, kernel-team@android.com, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, iommu@lists.linux.dev, linux-arch@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, linux-modules@vger.kernel.org, kasan-dev@googlegroups.com, cgroups@vger.kernel.org References: <20240221194052.927623-1-surenb@google.com> <20240221194052.927623-20-surenb@google.com> <2daf5f5a-401a-4ef7-8193-6dca4c064ea0@suse.cz> <6db0f0c8-81cb-4d04-9560-ba73d63db4b8@suse.cz> From: Vlastimil Babka In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spamd-Bar: + X-Rspam-User: X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: 73311A0018 X-Stat-Signature: 9mor7mocjooit7d5cic9at1fiugafuwy X-HE-Tag: 1709144888-754015 X-HE-Meta: U2FsdGVkX19pY8Lanzrqak7EGeoidxgF5ALvUirzbsOv6Co7VTvmTsDCeQcRvIVy4wZsVAMJdnE1Sm6c9RUC+0N40neaiDdFTlLXKUwX+yG6myqjC42Zf7Mae2Xtj3xfij/cunIiqHjmBZztP1iro1GgEDsF2ml25ca+JB8/RgOxFTSioMUD0B8Ohm65hPPm6iES0GQhCJJ8aKuh0AVA2zegDbbHpvVoak4QEXRNr+cDYfZJlGpowGrRsyLVs22+FW9hTXwkzxsX9izX2m8rmmAiFs8+5vfjD/NMzL9lPtjVmp5JU+0rNhW0lxtaAbyc7RWtD7kw2X1hVGNSIAYis1Q4uI02MjTC74tBXgyV+3aPf2RNsdCmY1UjiPoG/ECBA4kQOtqJDEANkfVypYwwEVdPO/n1FpIb9szs/hhJX4WBzp00YoSWhFMZkA5ar+3wQ8qQ0Z7SmcxV5N1rJ/AkLn30qPPxzqFaOc1n7ZdgHAcIXRN7PQeN0HWCzZnrE29GG53QVErL/saJNTeY7D4qce1Z/O/qkhSLFPp+DCyWhGli3+B/ZaE68vDPK2cy7+rtyNpL5BwLj0VdNtKTqYcutrwVOeUKmam24GW5Xko6RzHkttMYt09xEU3d6i49lg9LjeEVI9xnccyxkYokbBHQOU+A2oevuES9YqBgQzZndDVBlBQmk9ukOgtcY2V0TsPavlWf95VEe9bgrbcx+UZCVCwio+egP60vsxsnSFnEEytgb/CJK6Qb3riV2incYVz2fvTIpD3F4a4XdtuTqPIxbzDjMwvGQ5LrtRf6UhrzmyVXsl+ZxGtaVTHQRj7NiJlXV0zUzEYGXMsGJW/spFOadNizUYIAq1k1tRNbSo7pOf1MtlzioG2y/SsVnAyqCEWIaLvIqvGAa9exyuTD3RHaX0E+rDXkXfyPdVebjV6yEjA8lrHd3goq2UDslK6ksldZsWcz0GDhk3ewqpdyh7f 386rq3zI RtGikHRrszAkIOUBYVBFe9tykV+80aXZdz5UyFhm/9vBPkAxepM8KagRtU9Bgcj3TqZqbIzXRsTJlrcdgJvjic1CXPoVk0GnW8zZcQacw3l3L41a38e0w7X+z26Vr0azDfIvhSImzoPe10Hq9ptdb0CIMQXbVwApMBEn7OX/8SV3+59HfzS/lBU9ThaJ+ZP/09ChTfVUd94dQJZ5oDimpnKUcQKr63GhK1YRUIQSutC+KvRsh9qsG3bv5rAmIn1nwHO+k9UdSHkkV8W07ifoV5zF1h83bpESM9V6MjK4OQKOc2IZck1b9txXfhko2caek7zAihGsiDSD5LWnnPhzxYFqzoblgC6FpsQk9UX8hV9p3gAw= 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 2/28/24 18:50, Suren Baghdasaryan wrote: > On Wed, Feb 28, 2024 at 12:47 AM Vlastimil Babka wrote: > >> >> Now this might be rare enough that it's not worth fixing if that would be >> too complicated, just FYI. > > Yeah. We can fix this by subtracting the "bytes" counter of the "head" > page for all free_the_page(page + (1 << order), order) calls we do > inside __free_pages(). But we can't simply use pgalloc_tag_sub() > because the "calls" counter will get over-decremented (we allocated > all of these pages with one call). I'll need to introduce a new > pgalloc_tag_sub_bytes() API and use it here. I feel it's too targeted > of a solution but OTOH this is a special situation, so maybe it's > acceptable. WDYT? Hmm I think there's a problem that once you fail put_page_testzero() and detect you need to do this, the page might be already gone or reallocated so you can't get to the tag for decrementing bytes. You'd have to get it upfront (I guess for "head && order > 0" cases) just in case it happens. Maybe it's not worth the trouble for such a rare case. >> >> >> > Every time >> > one of these pages are freed that codetag's "bytes" and "calls" >> > counters will be decremented. I think accounting will work correctly >> > irrespective of where these pages are freed, in __free_pages() or by >> > put_page(). >> > >>