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 80BA5C27C4F for ; Thu, 13 Jun 2024 11:32:49 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 1C7CD6B008C; Thu, 13 Jun 2024 07:32:49 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 177CB6B0093; Thu, 13 Jun 2024 07:32:49 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 03E6C6B0096; Thu, 13 Jun 2024 07:32:48 -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 D9D386B008C for ; Thu, 13 Jun 2024 07:32:48 -0400 (EDT) Received: from smtpin07.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id A94341C2D9A for ; Thu, 13 Jun 2024 11:32:47 +0000 (UTC) X-FDA: 82225653174.07.B3E2451 Received: from mail-ej1-f52.google.com (mail-ej1-f52.google.com [209.85.218.52]) by imf25.hostedemail.com (Postfix) with ESMTP id B2206A000F for ; Thu, 13 Jun 2024 11:32:45 +0000 (UTC) Authentication-Results: imf25.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=mSbXz2vJ; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf25.hostedemail.com: domain of richard.weiyang@gmail.com designates 209.85.218.52 as permitted sender) smtp.mailfrom=richard.weiyang@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1718278364; a=rsa-sha256; cv=none; b=xZskb/W1FuCcBEWZO3xvY+jM83q6jjCjlMQDWyuNrDpWTn0kgAuwHfh3eRMdRnWdexZkfu 2brcOW5YfUw4Qb0fWd6ZLJFYk1wxbT1fu+FG0AwYKHSohBZRC0OSDpjYD1yH14CnabteV0 Ypo6AJ5wwskjKRufL7oj7t03a/YjsLQ= ARC-Authentication-Results: i=1; imf25.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=mSbXz2vJ; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf25.hostedemail.com: domain of richard.weiyang@gmail.com designates 209.85.218.52 as permitted sender) smtp.mailfrom=richard.weiyang@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1718278364; h=from:from:sender:reply-to: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=gqB2aoJy2LpjrZdjlrozUUwgApV12zi0YBl84UvUe4g=; b=2CbBRQ4S7xaWdhJ3XsMGxzO/udK9NFKMMN/p/OgESswHfzZrzSYeFLDH4SQ0RBLRGiDmS+ 2OVpVMqp2Hz/KsRZ8AkHJWMUwSrYRqWg3BYmLeC8LvamPoST1nFRdAi9+HOi4C9pcn6DqS TKlmURZTDzi9A2+FOdLPeK7vd7tX+wE= Received: by mail-ej1-f52.google.com with SMTP id a640c23a62f3a-a6f13dddf7eso121172666b.0 for ; Thu, 13 Jun 2024 04:32:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1718278364; x=1718883164; darn=kvack.org; h=user-agent:in-reply-to:content-disposition:mime-version:references :reply-to:message-id:subject:cc:to:from:date:from:to:cc:subject:date :message-id:reply-to; bh=gqB2aoJy2LpjrZdjlrozUUwgApV12zi0YBl84UvUe4g=; b=mSbXz2vJMeAmPcRfMyhR4ikEVvyk0vHWDFEMB5ke08+yoNbS+RPM4udgm3klSM5fOq 1fzp1hDxsGl57F+XNfgkqur7O1Df1TjoIANmPFoNRCXdZL6fU6ND4OzI9kNlgT55avx1 DOlcLqMMgoBLge8vv4SS9Zo51PYZRaVcuLT87ex67W6R8BxK+lP1/grVmeFpoZc47B1T dU4iZBzAK0j3W0QOvUOmTLEEbAB84cwKGEK4E+x1ducPuRgmOXpsZArODYXKJDmLpEeN JkdM/fNQHdjjW5dBelHyE48w4dNTtdI7a3aE0TZLcwyMEwZRo5EKYdouV73sKX963Cyk on8w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1718278364; x=1718883164; h=user-agent:in-reply-to:content-disposition:mime-version:references :reply-to:message-id:subject:cc:to:from:date:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=gqB2aoJy2LpjrZdjlrozUUwgApV12zi0YBl84UvUe4g=; b=VKjmXRIXc+hi9WxmkTDL5cE22A2+ovE0SZYfNVDUsbImpjikcmj3L11K8MWnRRlXRm 0VSNIczxc/opXfHXi2cj8UH4SuCijyojxmUPbQ6vLex1dEX0Mr6ULd8UG1Wv1WHWEmc1 CviW1eKtqETtMATamWb5NqxE1ZVpZSEdrx9Xmk4Czo5eOF/c2FRKIukq2nUF2S3LaXDQ TkjeT6ZBeLap9SyRxYgrUzD1dcTaW5XTAxm//vLtT80hKcAtUz53pUDvygoqkg6/kaVI oMzysMCMnqobkeV4ZhJmcvod5rF6BCR4gVoa7Jdqp7A01ozlAszREwgBEA13d0E2t1gw pfug== X-Forwarded-Encrypted: i=1; AJvYcCVQ0Omy4po94h/ZyRm15kPIiVQSl2Pmdxddynwm4tvlQQcWfLg7FazmKstmhMgHMcG690DDsp/mNAneQ0d04wy/uVk= X-Gm-Message-State: AOJu0YyB7sn6yxbZ5bL6glHjjK9X4wnVYaxiypfdXyIcbatUNWiYrr84 ESs/U1NvwDfynSr0hr1xcSKiCz7qEtmqjbh3msCanwOAUhw49Diq X-Google-Smtp-Source: AGHT+IEIs7NlGlIWu6RrUoZ33HxvRwAeMjFTi2geUaQAGMDqeNvEfHb52rqE/T68eQOZNcqsru5aXA== X-Received: by 2002:a17:906:6d58:b0:a6f:23b9:4e4f with SMTP id a640c23a62f3a-a6f48026da4mr259325466b.77.1718278363782; Thu, 13 Jun 2024 04:32:43 -0700 (PDT) Received: from localhost ([185.92.221.13]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-57cb72e9637sm818074a12.44.2024.06.13.04.32.42 (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 13 Jun 2024 04:32:42 -0700 (PDT) Date: Thu, 13 Jun 2024 11:32:42 +0000 From: Wei Yang To: David Hildenbrand Cc: Wei Yang , rppt@kernel.org, akpm@linux-foundation.org, linux-mm@kvack.org, "Kirill A . Shutemov" Subject: Re: [PATCH] mm/mm_init.c: simplify logic of deferred_[init|free]_pages Message-ID: <20240613113242.x2kenzoxjalk7j56@master> Reply-To: Wei Yang References: <20240612020421.31975-1-richard.weiyang@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: NeoMutt/20170113 (1.7.2) X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: B2206A000F X-Stat-Signature: fhru4n8kr9u9hhb3pstb5pz9b6385m7o X-Rspam-User: X-HE-Tag: 1718278365-330124 X-HE-Meta: U2FsdGVkX19KY3hlB9nalchhpzLFGlistL2IFY1k7zuX1803BofDq6KLQMc5FUEgYsion/WgTv17c7HUL3Rw63myjRI/fZtwdKIbEgnYDXHHIoJxHJMN5RRvqHlLgO+ZzhNFYfWfZif7ZjGrOla6H/+M28blef9GgOleuAR0UYm1AbiQSNiXHBk+O4SgVdo10Kr4/06u0hlIciT5Q1sNJZQRjc3GZYpJ4jG/erREVHBeZjtwXJ7XH7vuJ8Jh6HcUswXcMPxEQtHsgfJszR1k4KIhGwfC+qU4M/gIPo8Hu/OFR52mVpXkUTXnUB5gYRXB7Kj/fzPmj3Cs+tA0stBEuVCMhW8XvLhEGu4MjOaa1Zoq240rNVhFWetrOmkFaJWoGHg1AUMHkLcCYAdRo18WY9yMdUVCpzQNP88lXLkXlwxrGK73LQu4g3qo7MxSD0HcICtpxUbHkSD8Yk9KovhBAzNI1tK7Q7FT66y5DaDNw14W12rOBFUPwedKw+tO8nuFR9WSKZWSbks7mQXtS4OWiRjA7o+m8voVqTpHszHdRN52RGtdAyeA5ij3WA7wtde/9f9Vz87MheVze1kGACzlz4UnKREYa8osohY1hcpbIht+C8wdGtPdTKRKV5SGwAUaYWOiuBLF5Q+oZdCtnVFqSQXEA8wsP7+nBDbZfuAj4CtkVMH97XTWtnkcdoPr6O5uCMVhMTovARvr1nos+2iapL6RVoCrdB2fQU7vZaCHWK7iyxZMCr1Db1EiVy0LKaF1ECOH+YRptvWhB6WGOAczRl+aXz7LYBMRqFd0HBMcYwnhZf5Q/9fvRhls+tHqoCeqmUggkl8lPthje1Xlr2mlxz9k0X9XFG7hIOBJWDDomAnKeglDzZJN2kPPbdcsGNg1nLLL22pxsHnepZR8FMdd7wumF+XRlObX+bgJc2yv6F/FiNB0Yj21sxtPEqeMOfsBqX/hxRLNQNIoOOuFS8n bJFQaMAf wsnB9cF4VGzYnQCW8k1fZl6JJie4UG4uX7w/QIdYRLjHquYUJ4x17LKViFyHp/PDuJVUAsbA8ACvpyvaTW948OSfh/669+GR4H8MCKA3qEWGXIUM29FLJ+ZhwO8y7dd3TXUAh9gP77wUydRPK8dSLYi0JUhz76jN7l73ggazMsVH7Iws08EOHFQTa7ndFpC4sAWvhmXDXjogBWLKhPTyx7MqGUqROoBNl/p1QoMfxCdwK24J+vmQPmfsD6rltbiQJx+rnUnQhcBjOmnPzG4y3CFJ5X1GLzI7T6QSau99tV0oJFd1T7GrB5xYrztzM4l5YwgrtgPLxRRJthJnd/WhExhHK5drSNDvPvOyp7ETqdrdaXcDGXvXUnRVVlplC0RO2gRayGPt3oDtJDBOoda6tp0FQXBEJ3blbf068c9Q0kEUQiAoL8YwZxXP1bVe/xHMQcw1x5ytylSP0tqQzgoZgLe8aldYLxs5s/z8xVoJ2g7g1xNfFNLp2hDMEW8jM9vLhokiKyYsLLQC3+9lvlsNo+wkE9IBojTDquQtI6wq82N3MaEuwQ7icWwZlembDwBOEgv7OH3SNj4Q4OvIhyekysN/b4pCydtDucL6mblY/zAuibpApSzna6nrhPD4AqvfO/a2uickSTJXmohzbvwuUlmembY9hBlaMRMoNI34iw5pmoCx7p731qaATrdX11Q1017wKusX8hUmdjzxJmCKmHq4qDFCu1omaRaOyYDVrh+UCvrYo01me+n1U60umXS+vjtYjPVJVOLHJohs= 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 13, 2024 at 10:21:08AM +0200, David Hildenbrand wrote: >On 12.06.24 04:04, Wei Yang wrote: >> Function deferred_[init|free]_pages are only used in >> deferred_init_maxorder(), which makes sure the range to init/free is >> within MAX_ORDER_NR_PAGES size. >> >> With this knowledge, we can simplify these two functions. Since >> >> * only the first pfn could be IS_MAX_ORDER_ALIGNED() >> >> Also since the range passed to deferred_[init|free]_pages is always from >> memblock.memory for those we have already allocated memmap to cover, >> pfn_valid() always return true. Then we can remove related check. >> > >I'm surprised that we can completely get rid if the pfn_valid checks (which >is great!), trusting Mike's review that this is all sane :) > I'm surprised too :-) >> Signed-off-by: Wei Yang >> CC: Kirill A. Shutemov >> CC: Mike Rapoport (IBM) >> CC: David Hildenbrand >> --- > >[...] > >> /* >> * Initialize struct pages. We minimize pfn page lookups and scheduler checks >> * by performing it only once every MAX_ORDER_NR_PAGES. >> * Return number of pages initialized. >> */ >> -static unsigned long __init deferred_init_pages(struct zone *zone, >> - unsigned long pfn, >> - unsigned long end_pfn) >> +static unsigned long __init deferred_init_pages(struct zone *zone, >> + unsigned long pfn, >> + unsigned long end_pfn) > >We nowadays prefer double tabs for indentation for the second+ parameter line >in MM, like > >static unsigned long __init deferred_init_pages(struct zone *zone, > unsigned long pfn, unsigned long end_pfn) > >Usually results in less churn when renaming functions ... and reduces the >LOC. > Will adjust it. > >> { >> int nid = zone_to_nid(zone); >> - unsigned long nr_pages = 0; >> + unsigned long nr_pages = end_pfn - pfn; >> int zid = zone_idx(zone); >> - struct page *page = NULL; >> + struct page *page = pfn_to_page(pfn); >> - for (; pfn < end_pfn; pfn++) { >> - if (!deferred_pfn_valid(pfn)) { >> - page = NULL; >> - continue; >> - } else if (!page || IS_MAX_ORDER_ALIGNED(pfn)) { >> - page = pfn_to_page(pfn); >> - } else { >> - page++; >> - } >> + for (; pfn < end_pfn; pfn++, page++) >> __init_single_page(page, pfn, zid, nid); >> - nr_pages++; >> - } >> return nr_pages; >> } >> @@ -2096,7 +2049,7 @@ deferred_init_maxorder(u64 *i, struct zone *zone, unsigned long *start_pfn, >> break; >> t = min(mo_pfn, epfn); >> - deferred_free_pages(spfn, t); >> + deferred_free_pages(spfn, t - spfn); >> if (mo_pfn <= epfn) >> break; > >Looks like a really nice cleanup! > Glad you like it :-) >-- >Cheers, > >David / dhildenb -- Wei Yang Help you, Help me