From patchwork Thu Aug 24 15:38:21 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Johannes Weiner X-Patchwork-Id: 13364385 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 DB26AC27C40 for ; Thu, 24 Aug 2023 15:38:27 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 07707280070; Thu, 24 Aug 2023 11:38:27 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 0272F8E0011; Thu, 24 Aug 2023 11:38:26 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E3248280070; Thu, 24 Aug 2023 11:38:26 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id D11208E0011 for ; Thu, 24 Aug 2023 11:38:26 -0400 (EDT) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id B63881A03F5 for ; Thu, 24 Aug 2023 15:38:26 +0000 (UTC) X-FDA: 81159405012.18.450C3BE Received: from mail-qt1-f180.google.com (mail-qt1-f180.google.com [209.85.160.180]) by imf07.hostedemail.com (Postfix) with ESMTP id AA3C84000F for ; Thu, 24 Aug 2023 15:38:24 +0000 (UTC) Authentication-Results: imf07.hostedemail.com; dkim=pass header.d=cmpxchg-org.20221208.gappssmtp.com header.s=20221208 header.b=eCPG0UtI; dmarc=pass (policy=none) header.from=cmpxchg.org; spf=pass (imf07.hostedemail.com: domain of hannes@cmpxchg.org designates 209.85.160.180 as permitted sender) smtp.mailfrom=hannes@cmpxchg.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1692891505; 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:references:dkim-signature; bh=/GKWCpngibybkjTzS3eXwbdynJVEtQMAYIUrowwYJ/4=; b=qWuyQucH21B34IaS3J0Nrl/+SgwyQBA+bkryTx5K2BNNvhD24GwI+dolfIUZrFciLBkwem THebEJZ7FRhLZ7oAVN20JOqMgLhu0eQ/30PSVnFOG1GG46vuydCQ+n/JsSSiY4BfHmS52A b/nUktqWyStpYGqHJ1FYT3tNapayvgk= ARC-Authentication-Results: i=1; imf07.hostedemail.com; dkim=pass header.d=cmpxchg-org.20221208.gappssmtp.com header.s=20221208 header.b=eCPG0UtI; dmarc=pass (policy=none) header.from=cmpxchg.org; spf=pass (imf07.hostedemail.com: domain of hannes@cmpxchg.org designates 209.85.160.180 as permitted sender) smtp.mailfrom=hannes@cmpxchg.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1692891505; a=rsa-sha256; cv=none; b=xer6pd446KKDtXv8wTYVWNtlOuNZi7eH6/ZuXHk0JAzDq3b5txEWFwqLFKUSp5UdLRDi2F j1RnmGHk2sr0PFdOLhGqIlApyvYY1pToANsemwHCPj/SHxqBtRiTemxaWzj4EOEeghINey F/M/5nHn65pJybcR8Zbqqf1VlRc58mM= Received: by mail-qt1-f180.google.com with SMTP id d75a77b69052e-41206fd9717so3247131cf.3 for ; Thu, 24 Aug 2023 08:38:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cmpxchg-org.20221208.gappssmtp.com; s=20221208; t=1692891503; x=1693496303; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=/GKWCpngibybkjTzS3eXwbdynJVEtQMAYIUrowwYJ/4=; b=eCPG0UtIc4295JlokQU/nJupSVbSoUbxgABx0fpANQUn1BTauwIKfLaOFst9flSKft AKdgxxQ5+w9yCDvBrW/DH+bjlQMFOIEBN2AEsKABYz8kqK9EYG7Pvm2HNSP8lp3sM/CQ ShO+H52mJUTDumB7zAr3/HwaqnxMI4LutP6eqiew7NutTS4zJWBSWZ93MGsBhwaLRk6t Pp1zir2zlrYeHUI/WSfM3IeT+F1er0DLL+DIXmfhwD3axNFYGjfeGvlHooPo7dO4C0Ar AUI9P52QhgllGGe5YS7rXoRVZRABnmT2eCXmM19QMCsmuWRz/QrwtnPGgwPW62JRaWIO JBwg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1692891503; x=1693496303; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=/GKWCpngibybkjTzS3eXwbdynJVEtQMAYIUrowwYJ/4=; b=VKNzh/8Bgrnoq/MbnMhIwYWeV290XvWGcSAwMv/BP+YfAZFUIzZhNfNj6wspTlFlsA u7/RxaTkk8M5DjBqhZxiHNA9dd9at11Hhmm557QgP+pGQdhKIuWXQ/byK1aUUJUxSsdK 7Qc9hyRekLy0yB9ULEtZQ2swzI6VX7MIxo453nfehJKHqXAzmmHVsT6uzUVSnuqf+l1q YDGrdQ24Y3+npshy/nSEHAHW/CyOx3z5XJ2Mxis7SQTWNsFqutXgDhBz6P8MxNKRNLNv a4kq9T9eICw/LG9c0oLwvoRnjqjAYFeOqdQ9Fk3OErcwF+y+MET2wPdW7jgDETw5W+yj D7ww== X-Gm-Message-State: AOJu0Yw/2DZmCw0Llu0xdWw7lYiJ/5z30m3Z5Yl6Je1M2WtBo0zZX6NE s1EvUy5NZYpjQ/npJHZnUjAtLw== X-Google-Smtp-Source: AGHT+IGOrOXCzNXqhRu48aD/ROL4BiX1O8HA6jds+mrHOVhHVf2Vr9uXd3m8pXE/SORnEY7zKGK/nA== X-Received: by 2002:ac8:5806:0:b0:403:8d8a:564e with SMTP id g6-20020ac85806000000b004038d8a564emr21098740qtg.62.1692891503705; Thu, 24 Aug 2023 08:38:23 -0700 (PDT) Received: from localhost (2603-7000-0c01-2716-7ffd-0cf9-a739-5564.res6.spectrum.com. [2603:7000:c01:2716:7ffd:cf9:a739:5564]) by smtp.gmail.com with ESMTPSA id ie4-20020a05622a698400b004120400921csm348528qtb.94.2023.08.24.08.38.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 24 Aug 2023 08:38:23 -0700 (PDT) From: Johannes Weiner To: Andrew Morton Cc: Joonsoo Kim , Mel Gorman , Vlastimil Babka , David Hildenbrand , Miaohe Lin , Pavel Tatashin , linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: [PATCH] mm: page_alloc: remove stale CMA guard code Date: Thu, 24 Aug 2023 11:38:21 -0400 Message-ID: <20230824153821.243148-1-hannes@cmpxchg.org> X-Mailer: git-send-email 2.42.0 MIME-Version: 1.0 X-Rspam-User: X-Stat-Signature: fwx4axc8iypbf5xkc15iiecgaswdaz4k X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: AA3C84000F X-HE-Tag: 1692891504-85311 X-HE-Meta: U2FsdGVkX19Y2b/8cx+5hCpaQ4IYb8CzSdCjIyKfa7c3XURP2UDe9Gh6wrV31nT2kosOQPfu2Jn8i4KuTKfd2OyAVPhibi43+ekvLAkDaYSU9PVylAys1qrVem8gDtnINv46x032mD5uPfJ3ZrGDQoKaMSVPbvqiy7UfocLnOFtBfkp1mB/PuLFeu8hktvBrwYSPECTsUasEba+9E5wNl+1TleXEdlK0JxMLG3kTmxS0/DU+G390e5TIvpPdW0POUSJf4rhbMiPhS2LOyK5vBz2lz2JjHbwhuX3MjVhE6NVEuMFO2yQFfzPwvu0oPhvcTeIZuCi1colWM8DquPOpXjo1ITDtMyHs7wDVugw4dXqS+R5+1vhSxISqi5TmPL7HHQnY7fZMuH1rZreQm+BY/wmVXdmZWPjEJdi5QdSfvs/7UTNKlC6hHQFbwxlPAaKClcxXYL1pHhIh6ksIK02M53WlWa9g785WsGsViH1WVhycTBwRwEp/VVEuDrnCoNJ3ehF4Qym0ToxZJQ+XecB7L9/KK5jAe00j+oeSCrjXAp3WcYLrha2EuA9biBmO03tE40/13qDvl2eIil0PNp8WCfMpeDUAGGPhnDN4BvpRFAVYze0xVPBGs4teCtkIpjqEMZZQEYJ9A5XisdzjZ/MprQLlI0MsEWQKz1FkWmznIZnHxVZC7+wH6filts6ZepB0MJZ46fx8GMqRxGScFD1xt6mdp/0vS1CWghLZ4h2fBbUGeDAsoVazsM3jmuHfeGl4OElYKABpt5PO6NYdaZLOWajjEwxrIItovrJgFV9cJGUt9hVpnj+IcR3BmJwB4964KB+VjgDSHOlx/Emw3AzAxYqtrfLkUTPAoDcvKpx69/ms/svCoLtCP+14qGFnw9GxP15vTj6QB5eiUgiiEKh5gY06H4CeNEYVSCI7EY9gZPIJ3b3UPBalphzu5brXdmLh870OmrXpuvCuZPIkRus MPvn2OKg 59OtBxDcFOtp/4RDDeSBahR9du4dAm78CLezWpHL/7j02NeG9aajS4++oset5CX+NsdJnPNVQbRsiLBg+XEnqSrtL3WeiSPZvW7ib4OiZ8vAQzb2Zkuk59lKTDT20uOMqa+n8+7wuEOSzvXDw906Vc2QskhFU36Nj88lt1isy9H/B5pu0dvGdgi5ev5bUQeDZFAP0F3V0P0oRpL+CLdXuY5Gz6kHmebbJ6rHfKTOThyzbvZAXTxKfbYaZQL4CBOC2UCP+KA2OYabV09kN+Iw4ugNUSeH0dYk7RtbwEe+IOcQN4NQrPeAjx0ag+TFJu3lP8PPmFPHUja7LR+3Tj+O+mPb53XEI4K7K8QGf5ztpZgV5iB6CVZPik9u0r5cBM3AsObfNVGvVHAW/Pm+vreORGDXgNuB0pYD7b2Gm1t50xLYwj2bh2OhcmQxi3G824HEg63V8hmB2Qw/3Klc0SdLgJ/XKNKriCqSg04l86rd8Kz8LPaA= 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: In the past, movable allocations could be disallowed from CMA through PF_MEMALLOC_PIN. As CMA pages are funneled through the MOVABLE pcplist, this required filtering that cornercase during allocations, such that pinnable allocations wouldn't accidentally get a CMA page. However, since 8e3560d963d2 ("mm: honor PF_MEMALLOC_PIN for all movable pages"), PF_MEMALLOC_PIN automatically excludes __GFP_MOVABLE. Once again, MOVABLE implies CMA is allowed. Remove the stale filtering code. Also remove a stale comment that was introduced as part of the filtering code, because the filtering let order-0 pages fall through to the buddy allocator. See 1d91df85f399 ("mm/page_alloc: handle a missing case for memalloc_nocma_{save/restore} APIs") for context. The comment's been obsolete since the introduction of the explicit ALLOC_HIGHATOMIC flag in eb2e2b425c69 ("mm/page_alloc: explicitly record high-order atomic allocations in alloc_flags"). Signed-off-by: Johannes Weiner Acked-by: Mel Gorman --- mm/page_alloc.c | 21 ++++----------------- 1 file changed, 4 insertions(+), 17 deletions(-) diff --git a/mm/page_alloc.c b/mm/page_alloc.c index 5e14e31567df..2e1ee11ab49a 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -2641,12 +2641,6 @@ struct page *rmqueue_buddy(struct zone *preferred_zone, struct zone *zone, do { page = NULL; spin_lock_irqsave(&zone->lock, flags); - /* - * order-0 request can reach here when the pcplist is skipped - * due to non-CMA allocation context. HIGHATOMIC area is - * reserved for high-order atomic allocation, so order-0 - * request should skip it. - */ if (alloc_flags & ALLOC_HIGHATOMIC) page = __rmqueue_smallest(zone, order, MIGRATE_HIGHATOMIC); if (!page) { @@ -2780,17 +2774,10 @@ struct page *rmqueue(struct zone *preferred_zone, WARN_ON_ONCE((gfp_flags & __GFP_NOFAIL) && (order > 1)); if (likely(pcp_allowed_order(order))) { - /* - * MIGRATE_MOVABLE pcplist could have the pages on CMA area and - * we need to skip it when CMA area isn't allowed. - */ - if (!IS_ENABLED(CONFIG_CMA) || alloc_flags & ALLOC_CMA || - migratetype != MIGRATE_MOVABLE) { - page = rmqueue_pcplist(preferred_zone, zone, order, - migratetype, alloc_flags); - if (likely(page)) - goto out; - } + page = rmqueue_pcplist(preferred_zone, zone, order, + migratetype, alloc_flags); + if (likely(page)) + goto out; } page = rmqueue_buddy(preferred_zone, zone, order, alloc_flags,