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 3FD4DC27C52 for ; Thu, 6 Jun 2024 17:34:41 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C77F36B00B1; Thu, 6 Jun 2024 13:34:40 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id C28516B00B2; Thu, 6 Jun 2024 13:34:40 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id AC7EA6B00B3; Thu, 6 Jun 2024 13:34:40 -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 8DC7D6B00B1 for ; Thu, 6 Jun 2024 13:34:40 -0400 (EDT) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 144281C1CAD for ; Thu, 6 Jun 2024 17:34:40 +0000 (UTC) X-FDA: 82201163520.29.47533DF Received: from mail-pl1-f171.google.com (mail-pl1-f171.google.com [209.85.214.171]) by imf27.hostedemail.com (Postfix) with ESMTP id 1705640015 for ; Thu, 6 Jun 2024 17:34:36 +0000 (UTC) Authentication-Results: imf27.hostedemail.com; dkim=pass header.d=osandov-com.20230601.gappssmtp.com header.s=20230601 header.b="F/LQXy9L"; dmarc=none; spf=none (imf27.hostedemail.com: domain of osandov@osandov.com has no SPF policy when checking 209.85.214.171) smtp.mailfrom=osandov@osandov.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1717695277; 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=AAulxVnYL/xyKaB3vnDRoKBoF0F084Ubuhab5n7H9jo=; b=rTR3vmEla/IZU0860QX2PNfC/DoeiAH7fu4czU3T4rb/OMGGv8LkOswKYsh1he74weiAyy mV45aW+51cYo1tS+Aa5PckpV0wA7Vcc7gBUJGw2TIWnEHIVeYuJ/6jF6O6MSaZ+8/v/5dN i3UwpnP+1UnkN22i4RQojqFYCzortuY= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1717695277; a=rsa-sha256; cv=none; b=xT+OLGStKbqL44ZST835NWmNynbhhyuoaRirq5/Uj3O5kKviLe41Hhm44rWkQUrkIm4QU+ Cnu/Fd0CjYzvYWKGOtEZxTDpYOWpmgup+aCqtttZp44UsMlofy89/zYp7x0lVnlSEPBnUq aOatK/jwjgSh0U3AExjLFmMVjJ5G5eg= ARC-Authentication-Results: i=1; imf27.hostedemail.com; dkim=pass header.d=osandov-com.20230601.gappssmtp.com header.s=20230601 header.b="F/LQXy9L"; dmarc=none; spf=none (imf27.hostedemail.com: domain of osandov@osandov.com has no SPF policy when checking 209.85.214.171) smtp.mailfrom=osandov@osandov.com Received: by mail-pl1-f171.google.com with SMTP id d9443c01a7336-1f6b0a40721so9993275ad.2 for ; Thu, 06 Jun 2024 10:34:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=osandov-com.20230601.gappssmtp.com; s=20230601; t=1717695276; x=1718300076; 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=AAulxVnYL/xyKaB3vnDRoKBoF0F084Ubuhab5n7H9jo=; b=F/LQXy9LxTkEocHCu7h2k4L5HHbPSweeRjoFHW9xhZDcO0hbjsIzoVMoeizuE9yYyt MwLruxV7O8n7ZzNfUP4XrOQs+xX0xNC2aHs5Dr2CUHfsKkKSni4+WNJJNC2N8YeNKPOg UIRy7HWnP7rJONqb70GZSC8puMFpTmeO4S0G+GSwACubMTK4TtYlGMULOaTv9EH0hLS7 zz0i3E3YkbyHlzBYj8edZ7Y03ptqDb2X86Ojfcm5eWzZiF+hz1vkNDJYoCBgGqhuhBPk ISA70TRuYYHuzJupqsocApXMo2wzadBJqEHpJ8QpXh347yYW/rwe+hYJiywYdUAUd2vI 7C3w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1717695276; x=1718300076; 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=AAulxVnYL/xyKaB3vnDRoKBoF0F084Ubuhab5n7H9jo=; b=SxcwHq2aFgqDpxLkDAKCpuEwfZkktZ6lC6aL+sgocSbf8K22ZUie6iM/U/zO/cE2IV w+Fbwi4HXMaHyvXMEMxpMi+4GRZHvaWk7G3+O6DWhe0NT2ed6IXN89moDiliVeAlppwK Pr9s3+UIQR8npwoqLclHL0CTwhPbGejVzQMVueeTt5HFN8Osxoqd6NuYp9YyCp3uVwF/ yfFx06OksM/ARcd6J/4vyJDyRtMVD7eQJQ0heL6DtCh1nO0ZK1zR0S9q2OGY2YHrTh2a 7WRIwuMsyUNY3HKhs69Y6d+ukzjjEDSeJWzYcYy0jIYENkx4hS1Z/wEoO0MOzVw4YrGQ BZkw== X-Forwarded-Encrypted: i=1; AJvYcCVNTusQjPkRIviepIdhI7o796FS87jcj5HAGlr5KuZkzVKa/ZEGFqaQckd1ooYwdWjD0X2QueSeSliwksZHjrWxp7Y= X-Gm-Message-State: AOJu0YyBZB3PjyQ5uXxfYYO1o0s7XQBcOD0bCH5BZrjcP/Ne9o61OUVY 37DR7JWzKclxFgOiJ9oHgnnbFSmg6O/cD2UbtfmDxwUNv/TtZ75fYeenSzdpO2E= X-Google-Smtp-Source: AGHT+IFF5YghgVig/RYReBOoP5uz9DUPAWXJpwtPKtVnFV4hSzqDyvhiRUIt9MC0+IujJ6KGfql9Zw== X-Received: by 2002:a17:902:dac6:b0:1f6:678c:9e8c with SMTP id d9443c01a7336-1f6d03be125mr2564165ad.67.1717695275716; Thu, 06 Jun 2024 10:34:35 -0700 (PDT) Received: from telecaster.dhcp.thefacebook.com ([2620:10d:c090:400::5:ae4b]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-1f6bd76aa80sm17769735ad.69.2024.06.06.10.34.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Jun 2024 10:34:35 -0700 (PDT) Date: Thu, 6 Jun 2024 10:34:33 -0700 From: Omar Sandoval To: Stephen Brennan Cc: Andrew Morton , linux-mm@kvack.org, linux-kernel@vger.kernel.org, David Hildenbrand , Hao Ge , Vlastimil Babka , "Vishal Moola (Oracle)" , "Matthew Wilcox (Oracle)" , linux-debuggers@vger.kernel.org Subject: Re: [PATCH] mm: convert page type macros to enum Message-ID: References: <20240606172530.829790-1-stephen.s.brennan@oracle.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20240606172530.829790-1-stephen.s.brennan@oracle.com> X-Stat-Signature: ubtbcd53d7458qwx1w3s5eoo9mkbhkrc X-Rspamd-Queue-Id: 1705640015 X-Rspam-User: X-Rspamd-Server: rspam01 X-HE-Tag: 1717695276-607780 X-HE-Meta: U2FsdGVkX1/PEW+meLxm05V10/13oOVJ3uWDq9oEUnMZgb2ZUPJMhZHi6FGpYH/S2HDIXzWLcjWihtBx/9k9pclzY7tPJze8GpDzn5FWCIOQDm2CSRXkzq1OnWBZyX4fsa5oENgwPqn5r6TiQFkMD8cJnV3urMygh1JKLslT/lWoybhOcNlJUTIXTu1AtGZDb0xYtWQPHdwykd/nW1RCUTHhZyDDnYlPPdOMPQgw34/am6EFWc0zRTD330dPM/IHU1qxhOW6f49D930+uRAHm/wVIHyhBaKchW0xuBVy5OPK2O8lkjwotolKu78m1xAm5ieNyb1qPVbE5PENKqGXKGZLev+L744esrqB206Q8/2+3db4sxrz0DI1t5EgIuwbqKbCmRTrjyC10fvglRwjms4a3uyh/UnP7VZBdR0vJJ3+BVQS3KyRXb7IHknboBuSYTSBDhWAEhFpqwEFZuDipcCesnG3kO/xzoVHPXQL3ShlBnf/A6lJsEp3D4j/cW15ISzZgRuhudugQcicEXuJfbRn9WS4ApOEZWwIFefItA0kvfbDrBNycCkU1e/gaFXf76rp3TKR+jefjwbrpLKSLR4quHcHLR7COuneBIpy/8N4jhaZlXIOBKBhnlvORf0jNjwMwYaI6fcPgpL87+4T7DfMUg7HifmpQ/17JzFOF3ZkNdT+OmwxKRZbp0WGB6U35F/w9uV9Ofo73l/IjEr4iI3Ni65Ak0pWCgp03L4T0W/UBu0I0+Pk2inyipT4Gir4jYpsWyV6H1kFs3vqJZtIg2GhQKMZPSkS9/9lewqz9yFNU1PWFREO3rbSZ7oU4zYQS6zCFYrK0sBPXjJ+fHz1VxfgQoGIZbgKLTKCPx1SvecY4VMESXtfppq+GbXO1ia0Mdx+uWFCCm878W799D9NT7HML+7Kl4HOC77yBzSGufz1KI00aRZXptg+/nIZi9IVABrLcjYd1FtMDMoef8V pGwFVROO +IunJQJe8ONrg6eICVsY8Gji4EUe1r4auCnSjmBNXgEiQ9bbB5ScnDWy3GbqAn4g/GIh8rkNy6Sn9TqqB1XBx9xlGzLQF7rQnobKJHAK43Spe/KcfPS0YuBdnSn9gkFU4iCTWqkY1B3CKZCBZWjooxd+cnHc2IUTcvkOk0k70tLlP31OIJm8D1BPch2STjRUJXfDqFtwJuk8frgV9JoubzBYQFWJPYj/PxKtKNe0qcQZ7VfkxI3oIKuHgejM1+IIWRMratHE0UAmWJCCuNvX3weM39CkobNYJ64qboGizUE5kbykMDcWKHVHsPOyC04exD1bTQuEv8aR/6HKsdSZFvCaHhuebN10B+jDlK/fd7NEjhzI4/cwc3Q1u6FS7XpunHZsKpeeKZ2DLBulLRb7URgySgRF1O+/6s/MCOiIODK4qtMjP15iBcV5nIuKv0ya9uMWnsl0d6Qy/+S6q2S17dynmNSdlsZ0h5cR9Ypm39IZ30vEk7i/lZMt08dhsDJ54WO4ZlNKV1zwfMp2CAp+9Sw+haW2J507Mu2KZh5BYdeHNt6A= 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 Thu, Jun 06, 2024 at 10:25:29AM -0700, Stephen Brennan wrote: > Changing PG_slab from a page flag to a page type in commit 46df8e73a4a3 > ("mm: free up PG_slab") in has the unintended consequence of removing > the PG_slab constant from kernel debuginfo. The commit does add the > value to the vmcoreinfo note, which allows debuggers to find the value > without hardcoding it. However it's most flexible to continue > representing the constant with an enum. To that end, convert the page > type fields into an enum. Debuggers will now be able to detect that > PG_slab's type has changed from enum pageflags to enum page_type. > > Fixes: 46df8e73a4a3 ("mm: free up PG_slab") > > Signed-off-by: Stephen Brennan > --- > include/linux/page-flags.h | 15 +++++++++------ > 1 file changed, 9 insertions(+), 6 deletions(-) > > diff --git a/include/linux/page-flags.h b/include/linux/page-flags.h > index 104078afe0b16..64fc191a75e8d 100644 > --- a/include/linux/page-flags.h > +++ b/include/linux/page-flags.h > @@ -947,12 +947,15 @@ PAGEFLAG_FALSE(HasHWPoisoned, has_hwpoisoned) > #define PAGE_TYPE_BASE 0xf0000000 > /* Reserve 0x0000007f to catch underflows of _mapcount */ > #define PAGE_MAPCOUNT_RESERVE -128 Adding linux-debuggers to Cc. Can we also get PAGE_TYPE_BASE and PAGE_MAPCOUNT_RESERVE as enums? That would make it possible for debuggers to implement PageType() and page_has_type(). > -#define PG_buddy 0x00000080 > -#define PG_offline 0x00000100 > -#define PG_table 0x00000200 > -#define PG_guard 0x00000400 > -#define PG_hugetlb 0x00000800 > -#define PG_slab 0x00001000 > + > +enum page_type { > + PG_buddy = 0x00000080, > + PG_offline = 0x00000100, > + PG_table = 0x00000200, > + PG_guard = 0x00000400, > + PG_hugetlb = 0x00000800, > + PG_slab = 0x00001000, > +}; > > #define PageType(page, flag) \ > ((page->page_type & (PAGE_TYPE_BASE | flag)) == PAGE_TYPE_BASE) > -- > 2.43.0 >