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 3E888C3ABC3 for ; Tue, 13 May 2025 11:33:00 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 81B358D0002; Tue, 13 May 2025 07:32:57 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 7C6A68D0001; Tue, 13 May 2025 07:32:57 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 640678D0002; Tue, 13 May 2025 07:32:57 -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 43A838D0001 for ; Tue, 13 May 2025 07:32:57 -0400 (EDT) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 4CAD81207C6 for ; Tue, 13 May 2025 11:32:58 +0000 (UTC) X-FDA: 83437672836.18.5C4DBA7 Received: from mail-wm1-f74.google.com (mail-wm1-f74.google.com [209.85.128.74]) by imf19.hostedemail.com (Postfix) with ESMTP id 69D481A0005 for ; Tue, 13 May 2025 11:32:56 +0000 (UTC) Authentication-Results: imf19.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=fiv87++7; spf=pass (imf19.hostedemail.com: domain of 35i0jaAgKCBc6xz79xAy3BB381.zB985AHK-997Ixz7.BE3@flex--jackmanb.bounces.google.com designates 209.85.128.74 as permitted sender) smtp.mailfrom=35i0jaAgKCBc6xz79xAy3BB381.zB985AHK-997Ixz7.BE3@flex--jackmanb.bounces.google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1747135976; a=rsa-sha256; cv=none; b=72DS6L4P+4ZrNK7x339OECmi7fztDWpq8xyPT9q7RD/XyGGCiUB+A4AlSARSPEW/O6sgKz WcCPAvxfyzh63b+fExmOsWUAfyk+q4awldRApdJ0D4oseCo5x7yCxovycvxxzM6q7cNfQt cUT0UwAgo3raSdyLjsXQjZFCBmO77Tc= ARC-Authentication-Results: i=1; imf19.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=fiv87++7; spf=pass (imf19.hostedemail.com: domain of 35i0jaAgKCBc6xz79xAy3BB381.zB985AHK-997Ixz7.BE3@flex--jackmanb.bounces.google.com designates 209.85.128.74 as permitted sender) smtp.mailfrom=35i0jaAgKCBc6xz79xAy3BB381.zB985AHK-997Ixz7.BE3@flex--jackmanb.bounces.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=1747135976; 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=NeexaecluE3glhmFl8HKTpyUz8DvxBD8WiwioUAmIpk=; b=IXZnYAWjY3cJbGO3T4o+6S8PdoC2zM8+zzgEuMEnoec0QU/6ECUpckEcjiKuU9zf6uqUJI kroPwR6GJLV663/Q53s1o+5ax4fBHeK1NK1ExfGfdlc6MS1RB+SfNXk70b4HlJGXJF6tWv SqkCT+Wq42QhRp+qVNKupUmqzblERnw= Received: by mail-wm1-f74.google.com with SMTP id 5b1f17b1804b1-440667e7f92so26882145e9.3 for ; Tue, 13 May 2025 04:32:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1747135975; x=1747740775; darn=kvack.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=NeexaecluE3glhmFl8HKTpyUz8DvxBD8WiwioUAmIpk=; b=fiv87++7nQDPJ0InynNeujbxTd3cRut/png+ZrZnHV83Sf/ZA4WT/mh0pjkvhuJhDs 5zZZ9Ckr6oKrftsV5guzsuZaLMuzYxxvAI9cUvbmG/aGTJOQ/AJ8m3kAiYZLQuS3zlQb XcsJ9crL4QLOZQ5yIWiIr8XYo6FVg8XeZ0gDjnJ9Ueyh/dEThC3RHoSZrOF1KtzJzPJD 3vwzhk6kZTmg2W/zbtqawpwsDE2bkIssqKZNUtVIafzujBbruxIbeJRdcdGLOJQnkSdm wjrCxUkHrpvrXNEoVY9/oQISx/IIVUwDY7M2MansqcL4fM9Y4YEAj5xIlT865OuKp/iu p1xw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1747135975; x=1747740775; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=NeexaecluE3glhmFl8HKTpyUz8DvxBD8WiwioUAmIpk=; b=EzElAd6iq6MwklMK93Mgf11A+79J4Fjp6O8MLxbvvybySgIaXfH37t0o09WMnMbVzf h2v7T8ST6HbAPSOKPyWSGsAXW3Plv29SN8Wn9IfIlIfXryIYxmIB2RsqXXXFhIeKySDB ymLkV92aFzrQW9QzpuIfX6yUIfesAlcxexSJmi+srqorAxTqKR9bQYPY0Vxhkp3gDCk2 Dy3548n1oOephLOkyJCj6YjItCb47OxaVMjckHREhMYsHB9pgdICzc3qIAAWLi6Fjkl8 k2bNmh3BE9KmOrErUYTDVQFzqsIdeQ4Cnm9B9cVJPgINythitk7ZqvUML89Kb7BW0iGf hTQg== X-Forwarded-Encrypted: i=1; AJvYcCXSnHRTDTuIK0Px/pt7rUIsXSz36zXEuC/mXi+/hmqUvtbU2O+Gim9voa3op2WvfHj/t2bzlMNBnA==@kvack.org X-Gm-Message-State: AOJu0Yx8Ir64H+3uqF0lNAhcY/JKsO5AAVXxRnXMt+2owsRQ2Y3rC+tf G+xUhULFv4/ObLrYqyCSbOHFB+uNHe8Df+fUXmg7nlTTUI4Tc3NftTqbJ7jVEJqaZVLbJ1QCaWq PH3p+QO83Nw== X-Google-Smtp-Source: AGHT+IFzCGSQh3ByDHwJXSdwYGbHNrC1JP3Tr4kzTTUBlnbRVi877ck0vyMtS6ENFgUpgpql1htKkmzxuZA6/A== X-Received: from wmbjh9.prod.google.com ([2002:a05:600c:a089:b0:43d:abd:278f]) (user=jackmanb job=prod-delivery.src-stubby-dispatcher) by 2002:a05:600c:4e07:b0:43c:fcbc:9680 with SMTP id 5b1f17b1804b1-442d6dd2164mr128953535e9.25.1747135974867; Tue, 13 May 2025 04:32:54 -0700 (PDT) Date: Tue, 13 May 2025 11:32:52 +0000 In-Reply-To: <20250509200111.3372279-2-ziy@nvidia.com> Mime-Version: 1.0 References: <20250509200111.3372279-1-ziy@nvidia.com> <20250509200111.3372279-2-ziy@nvidia.com> X-Mailer: aerc 0.20.0 Message-ID: Subject: Re: [PATCH v4 1/4] mm/page_isolation: make page isolation a standalone bit. From: Brendan Jackman To: Zi Yan , David Hildenbrand , Oscar Salvador , Johannes Weiner , Cc: Andrew Morton , Vlastimil Babka , Baolin Wang , "Kirill A . Shutemov" , Mel Gorman , Suren Baghdasaryan , Michal Hocko , Richard Chang , Content-Type: text/plain; charset="UTF-8" X-Rspam-User: X-Rspamd-Server: rspam01 X-Rspamd-Queue-Id: 69D481A0005 X-Stat-Signature: wi69ea5ohpmzbjna4dwuhs67zsux6ayj X-HE-Tag: 1747135976-353 X-HE-Meta: U2FsdGVkX18TbkQIoOyAXurLntDRFBnXw/b6eb+LpBfJj4ehURnQdMGEAn6r/MpnZmWeSZb6txgoYIM6i1IFCiAW5SRdwK5o/3IJRsfHMfQku7klQR7VKhdtRdiY+oLELtD3b53VwnJoWT+q4NHuYNJj8gknj+uY0op4u630BQrS+ipNABqj6JVhEt+X4VthA3WW+SnPTU/JPAAa/H3/m0lD1wWeBv0RIw016yoyZbuIB68TtFmmRchcqmO9277MHSUv8OClLArX1CRlxHhfALc0unwI5tmPMJeSES08NwHvrlkwh+rRLrlQ5LtgbdRviGbbCXPCHbtX2Nyf9obUy0wjM5Py4jPpEpRsCnU7Bv+vQ5FuOMsQGIR2hem7n2mvHXnKlTVfyNX6OwuG30JZAsKt4R+9m3kSMVHj+mTOZ+7H2bKp+KB5oRnJBHQ7pIN/2TO0Wpo+Ziyl6ySSRps30ZtS8bhbPithGl2l6Dmtpz/EEiG0vuVuZ03MfZAT2+VSYKAbo1AHM6F92qRg3zi6wXwmgSYXdKbi0PiL3VT2wbPsJZGxiEj7sh6Lhdh0qdBuJU5KVLESwyeOhFr0BZwhU9FBNs0yiLeXrwY76pZ2K7znLaTWaqO92OuEk+Zyn0tqvdjCVM6U58xDKr8qBFRNkpVY1dzC5mjqIWkEkueYuHNxcGM9QItg0oFoqXzzF43AUugAn3LZnq2ukru7LCOPepTmokEGeTqhe/PaNgKfa+i3BHhBIIPv1S85mc9uzn5VxVkBlBIkB0Fg5b7dTXYnzLkBmeuIF83GO8NgPuALHnvEGLZIETa5giirgbdrzLWmh+uI6LQVatmNcMb/y1nZXqj+g5gHleGdeCSOOGiJ+2VZ19oZXvQ1Hd7s8pPIY3YInqS0Q2wEt9OMYg7cfmAymaJYJBmjWjGP85g1+HruYVSbGYBK7PFaooJZtpns4Nr1/OfkUtmoPZroteufkCh p0mRhmzH /wT/CdBw5itfZinSPM3NYgAwMVHn98ZXtHAbr022WudsWDO8jJxJNkoj/y3lFo026DVO+GQ0N/oVIjMCLVLaJ07zAOCmH3aMW9MPfoDE0XFjnMoXgfEMMq+IMa52fKv2Fuy9XyFFd6/p3hf0nOgeSSUmFBU6up3FdhxQHTp8fLHl6F6trx00Drz7wtXyMUHM7J1k6VNlupZJuRZ3SvI0v7+jo5gjzb+FW2AxOBRm22hY1Kck/sGuXqY0e9hyuDWYkqUt6VSYzkJ0bdnFoV8DAw4M9SnmH2yFPaRsF1JMVuelmDwbZxXkehS/KUtMyzXPB8LDalt6S7B+omCHbSn80nO3ApbCCG+QeqcYEX+lSkYVW/TtokvbenHSU21IdmlB7Zv2kwd3kmvCeY/R+rJOeDTLCPuXsOr12MmI3HOmTItSea0fbi8jrhQUuF+wfC0gdV7MaCoOt9MrEOODtBb+jWgNXLC3VMm8uR6pO6X+0D4ztAdt3TZO+lGFM73KK70jHHZLYn6pybqIEbbtE0rXAibhGW+/5tWEF+HQl0KXjjhmlDBPnFxFL4+aQUjrhhT9tTJWj9whnHyIUREtmpki85MJHkTHIUIuFCkhRNU3plZe7DWM+5LjIo+Y6YA== 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: Hi Zi, I hope you don't mind me jumping in on a late revision like this... On Fri May 9, 2025 at 8:01 PM UTC, Zi Yan wrote: > During page isolation, the original migratetype is overwritten, since > MIGRATE_* are enums and stored in pageblock bitmaps. Change > MIGRATE_ISOLATE to be stored a standalone bit, PB_migrate_isolate, like > PB_migrate_skip, so that migratetype is not lost during pageblock > isolation. pageblock bits needs to be word aligned, so expand > the number of pageblock bits from 4 to 8 and make PB_migrate_isolate bit 7. Forgive my ignorance but can you help me confirm if I'm following this - Do you just mean that NR_PAGEBLOCK_BITS must divide the word size? Or is there something else going on here? > +#ifdef CONFIG_MEMORY_ISOLATION > + PB_migrate_isolate = 7, /* If set the block is isolated */ > + /* set it to 7 to make pageblock bit word aligned */ > +#endif I feel I'm always just asking for commentary so please feel free to complain if this is annoying. But I think it would be worth adding the context from the commit message into the code here (or somewhere else), e.g: /* * Page isolation is represented with a separate bit, so that the other * bits can store the migratetype that the block had before it was * isolated. */ Just adding in that detail about the intent will help readers a lot IMO. > > +unsigned long get_pageblock_migratetype(const struct page *page) > +{ > + unsigned long flags; > + > + flags = get_pfnblock_flags_mask(page, page_to_pfn(page), > + MIGRATETYPE_MASK); > +#ifdef CONFIG_MEMORY_ISOLATION > + if (flags & PB_migrate_isolate_bit) > + return MIGRATE_ISOLATE; > +#endif > + return flags; > +} Can we just do get_pageblock_migratetype(page, page_to_pfn(page)) here? > static __always_inline int get_pfnblock_migratetype(const struct page *page, > unsigned long pfn) > { > - return get_pfnblock_flags_mask(page, pfn, MIGRATETYPE_MASK); > + unsigned long flags; > + > + flags = get_pfnblock_flags_mask(page, pfn, > + MIGRATETYPE_MASK); > +#ifdef CONFIG_MEMORY_ISOLATION > + if (flags & PB_migrate_isolate_bit) > + return MIGRATE_ISOLATE; > +#endif > + return flags; > }