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 A140DE7D24B for ; Tue, 26 Sep 2023 07:57:29 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2CD108D0073; Tue, 26 Sep 2023 03:57:29 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 255968D0005; Tue, 26 Sep 2023 03:57:29 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0F7598D0073; Tue, 26 Sep 2023 03:57:29 -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 E5F328D0005 for ; Tue, 26 Sep 2023 03:57:28 -0400 (EDT) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id A430C1CB059 for ; Tue, 26 Sep 2023 07:57:28 +0000 (UTC) X-FDA: 81277993776.08.487919D Received: from out-190.mta1.migadu.com (out-190.mta1.migadu.com [95.215.58.190]) by imf18.hostedemail.com (Postfix) with ESMTP id 676581C0014 for ; Tue, 26 Sep 2023 07:57:25 +0000 (UTC) Authentication-Results: imf18.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=O7QO+SS6; dmarc=pass (policy=none) header.from=linux.dev; spf=pass (imf18.hostedemail.com: domain of yajun.deng@linux.dev designates 95.215.58.190 as permitted sender) smtp.mailfrom=yajun.deng@linux.dev ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1695715047; 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=z4sxViBIUK9Xji+V4y3qHtoLu+O9zEJAdt1f5evurSk=; b=jBPcJ8nxouEtQrfY/eNh6B58G86nDUF3sehc/J23f0/HlPJDJcdeanMfqz7jJdfeeOolEC BPIN8pY6EZQbDRs/Hsrnez3TlXCUzmtJPDtb4ZuDXDlfZS40tvk3vcxoeAQMzIFhcbwhdU AEh7jZ09oITO3gMwLqCoQTD7flC9e1E= ARC-Authentication-Results: i=1; imf18.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=O7QO+SS6; dmarc=pass (policy=none) header.from=linux.dev; spf=pass (imf18.hostedemail.com: domain of yajun.deng@linux.dev designates 95.215.58.190 as permitted sender) smtp.mailfrom=yajun.deng@linux.dev ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1695715047; a=rsa-sha256; cv=none; b=AumqToYD2NfZNGFPHttqODIVKV07cxV9aU9ue7WBUbSi91HeB8/2IDes8QD28EMObKFp1B agePE3G1vRVUFW6t3AqycDLkwpKK2pii5SlyRPv9ZEOfrutD3oh25MTXx6pQXRdKspd5Pf Ni3d9wnXVkio0F0+x7e8ESdXW2lSRSY= Message-ID: DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1695715043; h=from:from: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; bh=z4sxViBIUK9Xji+V4y3qHtoLu+O9zEJAdt1f5evurSk=; b=O7QO+SS6VfuE5VU28oGjgYJJrfpLy4LXAXb0BuMjnB77fMIS4Kuaq73n0R3ast6O70EIYW sp7jEOG44o4xGZe3I618U9aKhErG1lySKFbFiOa8fktlxogj2ZIL0QEVvCOV1/hgHweOgq VFlolSYazVCdSFuv5DNJz/ljXpDBqw8= Date: Tue, 26 Sep 2023 15:57:10 +0800 MIME-Version: 1.0 Subject: Re: [PATCH v3 1/2] mm: pass page count and reserved to __init_single_page Content-Language: en-US To: David Hildenbrand , akpm@linux-foundation.org, rppt@kernel.org Cc: mike.kravetz@oracle.com, muchun.song@linux.dev, willy@infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org References: <20230926023341.991124-1-yajun.deng@linux.dev> <20230926023341.991124-2-yajun.deng@linux.dev> <9777812e-c8c8-2105-cd2c-443438786172@redhat.com> X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: Yajun Deng In-Reply-To: <9777812e-c8c8-2105-cd2c-443438786172@redhat.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Migadu-Flow: FLOW_OUT X-Rspam-User: X-Stat-Signature: a1ourye8gsnxg3m3erzwquxxhi1yo53m X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 676581C0014 X-HE-Tag: 1695715045-981345 X-HE-Meta: U2FsdGVkX18SfYWhA/qqkjmO7hEA2/FnDQSAu1r8FD/cv/qq6oDptKxf8nBGrBcWWIwH5zjHNeeeuSpPm+6f9SD0CCndeIlD0NcOBBxBb2Vy4PVtrRFVRhXEY2/+eyLbQ/pvsYKSH89VF/+OnuUg/zIwFt0S7M4WxYuItP78Zie0ZMIn4iB8p5yayi5KGcXQCRyTveQjPpAq0lFQ2hVJpIDBkSnAFn06Q+rWeWSiOFC+3UR7ZbiObSCekIPtb3VHcbB9M5+b1UUfiiXaonXFrpGv+KQM27ne2bIFoCv6Jf7G2BdnJrVkrF5AYKZE1YuoBWGbisI+IvbslLXyMgSjhR7ejmrmKSpizIx+36lVBfWX8JGHqJWSwI7LxK6QtWcEV/cGdqJWE6XtggmmZ4MEjGQjcHUQTFBLNzR8k3nZIYgKePaJG98/W5EcFhlLLvryizedPmWeD3p9HBlSJZF4FD39xD2aGJSU57BPflCyCsqALexkmecSNxmCBL4If5vamT5m8tQGYDE5caZ9j8HbaP15OFZj9ljv7Kbz6QHht5mthzfc61j9Q2EEIJtkNm4a+DORh0e35z4mASwH/5Aq8idlNkHQBttNSfuccGuDWHFcoVuZiac+7fKGxLzsAcAh7+iUIbvIUVnDJtCPQ76Cehpr9IgMNdIvVPyBfdwMvBsejNLecd8ueU3QzgBkxmni+LF3UJ9/SniSICky6Dc94hR235UuaUoWNTfGvjWLF165M7q3Ksb0OjklkSuJcsXcUSWeQPcVDGF/Tnmc0WsXR0Czcp9HGQxwq2eVOY98t24vX7Oh2mj6kcqfDPXpa0zVM2x1PvKfxb5A9i+LvibWKvMu5ibtmQgVuee7GB6q5kcEX/kCejGj9ambtog4C+jvNi9Cikao4sUn+v/o5JKlgRPHZVM08QJDjcbLtN+X4w+FAOj21mfmtrkOairmf+mw68UHVnGa/l25xPbqoSy W7Cfv7e+ AOQmweZ92SHac9NWFHh8OyvZMYcdfifCD4oNq9Co6kjq9bAtG9NPcTspOuPv2pjv+Oaw50tN/k/Fy58RTi09uHMkKISqLSKLwVbcmFSfqCqx3bOdEHE5MIJlwXw== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000001, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On 2023/9/26 15:44, David Hildenbrand wrote: > On 26.09.23 04:33, Yajun Deng wrote: >> When we init a single page, we need to mark this page reserved if it >> does. > > I failed to parse the last part of this sentence. > >> And some pages may not need to set page count, such as compound >> pages. > > Usually, the refcount of all tail pages *must* be zero. Otherwise, > get_page_unless_zero() would work on tail pages. > > Can you elaborate why it should be okay here? > > It means the following code in memmap_init_compound(). -               __init_zone_device_page(page, pfn, zone_idx, nid, pgmap); +               __init_zone_device_page(page, pfn, zone_idx, nid, pgmap, 0);                 prep_compound_tail(head, pfn - head_pfn);                 set_page_count(page, 0); As we can see, it will reset the page count by 'set_page_count(page, 0)'. Therefore, we don't need to set page count in __init_zone_device_page(). I wasn't clear enough in the commit. Maybe we can remove the 'set_page_count(page, 0)',  But I didn't do that, just to be safe.