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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7EBB3ECAAD3 for ; Thu, 15 Sep 2022 02:42:16 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230100AbiIOCmO (ORCPT ); Wed, 14 Sep 2022 22:42:14 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44458 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229685AbiIOCmM (ORCPT ); Wed, 14 Sep 2022 22:42:12 -0400 Received: from SHSQR01.spreadtrum.com (unknown [222.66.158.135]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3AA206AA0D for ; Wed, 14 Sep 2022 19:42:10 -0700 (PDT) Received: from SHSend.spreadtrum.com (bjmbx01.spreadtrum.com [10.0.64.7]) by SHSQR01.spreadtrum.com with ESMTPS id 28F2fEuC020951 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NO); Thu, 15 Sep 2022 10:41:14 +0800 (CST) (envelope-from zhaoyang.huang@unisoc.com) Received: from bj03382pcu.spreadtrum.com (10.0.74.65) by BJMBX01.spreadtrum.com (10.0.64.7) with Microsoft SMTP Server (TLS) id 15.0.1497.23; Thu, 15 Sep 2022 10:41:13 +0800 From: "zhaoyang.huang" To: Andrew Morton , Zhaoyang Huang , , , Subject: [PATCHv2] mm: No need to check pcp page when free it to buddy Date: Thu, 15 Sep 2022 10:40:54 +0800 Message-ID: <1663209654-14727-1-git-send-email-zhaoyang.huang@unisoc.com> X-Mailer: git-send-email 1.9.1 MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [10.0.74.65] X-ClientProxiedBy: SHCAS03.spreadtrum.com (10.0.1.207) To BJMBX01.spreadtrum.com (10.0.64.7) X-MAIL: SHSQR01.spreadtrum.com 28F2fEuC020951 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Zhaoyang Huang The pages on pcp list have been checked the validity via bellowing call chain. It is no need to check it again when free them back to buddy by free_pcppages_bulk. free_unref_page\free_unref_page_list { ... //page's validity is checked here if (!free_unref_page_prepare(page, pfn, order)) return; ... //page added to pcp->lists and status is ready for moving to buddy list_add(&page->lru, &pcp->lists[pindex]); Signed-off-by: Zhaoyang Huang --- v2: update code and comment for clarifying --- --- mm/page_alloc.c | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/mm/page_alloc.c b/mm/page_alloc.c index e008a3d..1472ebc 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -1420,14 +1420,6 @@ static bool free_pcp_prepare(struct page *page, unsigned int order) { return free_pages_prepare(page, order, true, FPI_NONE); } - -static bool bulkfree_pcp_prepare(struct page *page) -{ - if (debug_pagealloc_enabled_static()) - return check_free_page(page); - else - return false; -} #else /* * With DEBUG_VM disabled, order-0 pages being freed are checked only when @@ -1442,11 +1434,6 @@ static bool free_pcp_prepare(struct page *page, unsigned int order) else return free_pages_prepare(page, order, false, FPI_NONE); } - -static bool bulkfree_pcp_prepare(struct page *page) -{ - return check_free_page(page); -} #endif /* CONFIG_DEBUG_VM */ /* @@ -1512,9 +1499,6 @@ static void free_pcppages_bulk(struct zone *zone, int count, count -= nr_pages; pcp->count -= nr_pages; - if (bulkfree_pcp_prepare(page)) - continue; - /* MIGRATE_ISOLATE page should not go to pcplists */ VM_BUG_ON_PAGE(is_migrate_isolate(mt), page); /* Pageblock could have been isolated meanwhile */ -- 1.9.1