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 02BE7C25B74 for ; Fri, 24 May 2024 08:39:04 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 5E3236B0085; Fri, 24 May 2024 04:39:04 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 594466B0089; Fri, 24 May 2024 04:39:04 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 434006B008A; Fri, 24 May 2024 04:39:04 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 24A146B0085 for ; Fri, 24 May 2024 04:39:04 -0400 (EDT) Received: from smtpin26.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id D0758A1E7A for ; Fri, 24 May 2024 08:39:03 +0000 (UTC) X-FDA: 82152639366.26.B66E940 Received: from mail-pf1-f169.google.com (mail-pf1-f169.google.com [209.85.210.169]) by imf21.hostedemail.com (Postfix) with ESMTP id F3EF21C0016 for ; Fri, 24 May 2024 08:39:01 +0000 (UTC) Authentication-Results: imf21.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=AwLWR8Z9; spf=pass (imf21.hostedemail.com: domain of 21cnbao@gmail.com designates 209.85.210.169 as permitted sender) smtp.mailfrom=21cnbao@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=1716539942; 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-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=hXXryhp9brjlmNGGLnLQlImA7kQe9sMhJHZ07AYn5pM=; b=l8WnrJxVac9uNjXX6R/Gu0hota5P9v8sQf4+RHPZ+sMlNmxZsUUcH4/J2ygruWu4TWReMx X0ByKX3AkUCldXhaMr1vpOPFJQFwbI2f0ppuKO4NTntvZ7Iewi7Z3OvKK3eQ6F/Q94hqx3 uS5yVjav/6AFBj9dHv62OY2nn0O9E9k= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1716539942; a=rsa-sha256; cv=none; b=aa+FdNctyDHwKRjhmvN7RW4R/suzM0QTu/hxiRzapDISSBT3zTnS2TaoTgt3mCAl6k+C4/ h/xbp6duhQUpd0ihtvrZt9IQiP7n37lOEZfuDLfyIycjngmMzt6xrXNsx/OD5EOabNJ9if z8jYhu5LBCY8WnE4sl3Jd1goi0bwoDk= ARC-Authentication-Results: i=1; imf21.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=AwLWR8Z9; spf=pass (imf21.hostedemail.com: domain of 21cnbao@gmail.com designates 209.85.210.169 as permitted sender) smtp.mailfrom=21cnbao@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-pf1-f169.google.com with SMTP id d2e1a72fcca58-6f8edde1013so530895b3a.2 for ; Fri, 24 May 2024 01:39:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1716539941; x=1717144741; darn=kvack.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=hXXryhp9brjlmNGGLnLQlImA7kQe9sMhJHZ07AYn5pM=; b=AwLWR8Z9Ej3hvDuq0O4zQX1saoAAvRQmMX5eMhU3j7dB9qMMN/4GFHCVqTNzPuysLU X6/s9ssnT2+KdCgXLy4M5E+oAmKAYCZmVLMjqFL5Dcl/6Z4WG2bJg2xJj5lnLbePNtS0 f0JooM1RSttJuLtcUwq7Vn+KuRVvajOYZiRneWd6XgoM5ZKz+67AMCXkyKeCT1pt1QeH BkT9Xxo0wediWgXjmAGo/Z25mgCg3anqPRQZOEXx7sMJdk36BqyFS5a/Vx89iI0fO+0Z LXzsNB1HDa3WEBt7dv20cYBsF5Ub+/Ie3CFzuf4LtATu96H/iS/gL0Y6AYjio11qtfO8 bxJg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1716539941; x=1717144741; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=hXXryhp9brjlmNGGLnLQlImA7kQe9sMhJHZ07AYn5pM=; b=nlscxpQj+Nc4OpNNv37AUMrOVoa9BlSxlU14BRMJubGpHANG9Aw0IamZ1RZCe/joPy y5pg0GIGAgFXfOixyseqB5w0vmaK0HrT74KQbf7a0NWL2Rxn4kC7ajifpl9l1LC2YXLD i8KpMrvKTLWPpsVAxkHb9SRkLis40LmS7JOhNQN2y2JGHKG8pRI892gZGncIvQnOz2sk ZrgpXYACM8PCuiAxAl/IW/nq8YTGyT14WriPGU+CCPKt4Q2DySz3LC1lCtXm9+pDzMGn SKOpXwdzGXWNE35asr6caWxAWmMHqYBrxHpuAqkqnF3R2lTWb1VAz8wV/b2cusgcbVkG 0R8A== X-Forwarded-Encrypted: i=1; AJvYcCVP0hvRoxJGOaBplWu+ZR4pSQQprcxTAaIKP8FxTACimyXsvGZLhKJ2LnHi69qNVFoqozP9hXeS7tpTk25wkBOiP5s= X-Gm-Message-State: AOJu0YxOEs7jW8lrMTyCfssLZ4hnjodRzVZsLqv9TpKofy4PfRKQ1M7e 4iuwlzGKa4sIamcTdj/D19YHDeWQgA6/YrgH10yoBSo9HKw+ISSBrRDT1A== X-Google-Smtp-Source: AGHT+IEOlEoS4o/dJ7UPCVqGio4PFYN/M2ZY5ho8dvDMEzSmxwipmTdDGqn8MDZN6rpPd/KvE+OBFQ== X-Received: by 2002:a05:6a00:6c91:b0:6f6:d789:285 with SMTP id d2e1a72fcca58-6f8f308f94amr1756668b3a.10.1716539940598; Fri, 24 May 2024 01:39:00 -0700 (PDT) Received: from localhost.localdomain ([2407:7000:8942:5500:aaa1:59ff:fe57:eb97]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-6f8fbd3ebcfsm714704b3a.4.2024.05.24.01.38.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 24 May 2024 01:39:00 -0700 (PDT) From: Barry Song <21cnbao@gmail.com> To: yuzhao@google.com Cc: corbet@lwn.net, linux-mm@kvack.org, lsf-pc@lists.linux-foundation.org Subject: Re: [Chapter One] THP zones: the use cases of policy zones Date: Fri, 24 May 2024 20:38:43 +1200 Message-Id: <20240524083843.154995-1-21cnbao@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240229183436.4110845-2-yuzhao@google.com> References: <20240229183436.4110845-2-yuzhao@google.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: F3EF21C0016 X-Rspam-User: X-Stat-Signature: axq8kdutawmhdqd469m6jwyyaa7pyd5x X-HE-Tag: 1716539941-262979 X-HE-Meta: U2FsdGVkX19mZBKnAY7GBcf7XsdHFYsPTJ5DwPeaqap8iVI+KBC0TptNkDpveqz+qzW+KZtFAsd4Nh7lNOpxuPCpvZvnUmiaImKz/YOU4a41UzkHQnEJ4mXYZCc5cSTIdPmUsEJDOQuj2nKfvv9HU9xHM2+NJXBn8nIePjju2oFsXtHUIh56WNQ09t2AySrc8eYmAbx9pDz0d8Y5v2VYu3SCKi4sprxrXMS9M7py+opMHZT1oBk5Y41U6cicutu63EWHSwWrLqOEKHEHnbukyvIj+3p+fwC/PbohPkRzCnA3qzi3gHfgw6U7+9pXbrLkN81JvhoXlyXqVYdK/MKb6u4cUQUmoFR6oyTc/aB8lJbv2idGq+Mnexy5+VO7aBPZvlALd0NLZF983WKoeR+7E4m9piHt7+KXZwMf8UsUtcLwyiMS0fGL3eIbxIUw/PT3v+On81Z2p03Vlp4iQqexsCJevMhiBU8DKI4f2VDo7ELr03pWb9zfEkKog2D6n+2P/6zYyhBxOGKbReqzTzquRr29urTs4mO2SmL1WruTE+jRE9YXHt2xF82fk9p0D6YACHYp6CXdpmZg8eHnMi08gUBHpowElq3DMFivP/xhj57tPrHbaK5uasuk8a8Uh6hyAFJzr7R4P4QMcFkhnCI+hWx/ewjdI6UV4NAHDrUTgOTn6Fp2GCsLbAXl8D5IMPXjWvq9E9wEfVW5A7qvw5woFVjhu0togP9FQxMEmkWVL0JKG/gM4CsQZ535q4r9LOTGgFem5t//ozW9WBVWTQz2DXfOVcbSa+oyApVxwwtuEWVuYqPEb5zqRAxEblCVemRC3H5vpkmqXFLE0VczLnSRqLu0unriKmoZ2s9W8pdU7Ux0sSIgVQ3YN4xuu86qZnN+WmFVLf/oCWO2hKuhxFAhGGyOCxOK5RmEzd2DAmnKGLoapz+pDHlBd0kgqDSXj/q19SiWzfd4qLFyoO8RrxF GrKddK6k znKxm3Jfh6kD/xvJDALC5vAFHhI/cLpdVtRpl4SBGCrPcY6Yml+9yPQ/HOh49fJjnuhcIk6poubsodkVyfhkwG//t3dWZIgbPXfSlXwUF3B3wyx41n/0Vd+GEKd2HV+gdatOw7bmm1LNjqR4oTzro3yykMxOb0jZLDUtwEL9XvZ9BLDGR3wA1ZzdD8Ce8YTZsNAhOVmDsU/zWcts0qaXTiURVAIrwJT97ei6iMpO+1/qMNqjkt8m5FhJd+uh+m/7ApCLIY526RcO03CKY5ZecAy98/9wbT4dtRvrupVWjfbYx7bd3Dzu6YBRra3fVdVYEsQuDM2fwBmnoMSAlxxxhSJyr0+uaT3lxXLEjgWULP29okx/EzIv8h8coWYzpkQUO17i3qmsINxuzT0oIjUXIQjTBoOH7/4EZ5dn/lTs1koWpd8fTTVLnP56fNXD2KtEHhgfFye9+rzBp0+o/BwvLlu9YElprAqqBmWovYLKXzvJCUJQ0+uMKWfyuRXrQjAYvKR6q2nsn9B66Sbs= 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: > There are three types of zones: > 1. The first four zones partition the physical address space of CPU > memory. > 2. The device zone provides interoperability between CPU and device > memory. > 3. The movable zone commonly represents a memory allocation policy. > > + > +static void __init find_virt_zone(unsigned long occupied, unsigned long *zone_pfn) > +{ > + int i, nid; > + unsigned long node_avg, remaining; Hi Yu, I discovered that CMA can be part of virtual zones. For example: Node 0, zone NoMerge pages free 35945 nr_free_pages 35945 ... nr_free_cma 8128 pagesets CMA used to be available for order-0 anonymous allocations, and the Android kernel even prioritized it by commit[1] "ANDROID: cma: redirect page allocation to CMA" /* * Used during anonymous page fault handling. */ struct folio *vma_alloc_zeroed_movable_folio(struct vm_area_struct *vma, unsigned long vaddr) { gfp_t flags = GFP_HIGHUSER_MOVABLE | __GFP_ZERO | __GFP_CMA; /* * If the page is mapped with PROT_MTE, initialise the tags at the * point of allocation and page zeroing as this is usually faster than * separate DC ZVA and STGM. */ if (vma->vm_flags & VM_MTE) flags |= __GFP_ZEROTAGS; return vma_alloc_folio(flags, 0, vma, vaddr, false); } I wonder if cma is still available to order-0 when it is located in the nomerge/nosplit zone. And while dma_alloc_coherent() or similar APIs want to get contiguous memory from cma, are they still as easy as before if cma is a part of virt zones? [1] https://android.googlesource.com/kernel/common/+/1c8aebe4c072bf18409cc78fc84407e24a437302 Thanks Barry