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 0A7ADEE3F08 for ; Tue, 12 Sep 2023 17:32:43 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 74ABB6B0135; Tue, 12 Sep 2023 13:32:43 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 6FB3C6B0136; Tue, 12 Sep 2023 13:32:43 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5C2726B0137; Tue, 12 Sep 2023 13:32:43 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 4D66D6B0135 for ; Tue, 12 Sep 2023 13:32:43 -0400 (EDT) Received: from smtpin12.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 12E2B402F1 for ; Tue, 12 Sep 2023 17:32:43 +0000 (UTC) X-FDA: 81228640206.12.9BB7656 Received: from mail-qt1-f171.google.com (mail-qt1-f171.google.com [209.85.160.171]) by imf09.hostedemail.com (Postfix) with ESMTP id E595D140022 for ; Tue, 12 Sep 2023 17:32:40 +0000 (UTC) Authentication-Results: imf09.hostedemail.com; dkim=pass header.d=cmpxchg-org.20230601.gappssmtp.com header.s=20230601 header.b=HNvJr4t8; dmarc=pass (policy=none) header.from=cmpxchg.org; spf=pass (imf09.hostedemail.com: domain of hannes@cmpxchg.org designates 209.85.160.171 as permitted sender) smtp.mailfrom=hannes@cmpxchg.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1694539961; a=rsa-sha256; cv=none; b=jF+r2O0wRyi8ZaWNEVyCwlJPTP5zLirnazLWdepuRymGwWDzO+zcLv5cvFFPNB1163MLN4 +IaGw4HKmv2M0L+KaSFzUZLQwa8Og0mSJ3jR26ctLSmYaL7NgwgyhPhMYvGyROpn15tl7X 5CuVGVOID5QQcvY0gSxFKyPBchXP314= ARC-Authentication-Results: i=1; imf09.hostedemail.com; dkim=pass header.d=cmpxchg-org.20230601.gappssmtp.com header.s=20230601 header.b=HNvJr4t8; dmarc=pass (policy=none) header.from=cmpxchg.org; spf=pass (imf09.hostedemail.com: domain of hannes@cmpxchg.org designates 209.85.160.171 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=1694539961; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=wkTdSj2foDtzrxHFb+zU+yddoMluyMCPvY7ZkzAWYro=; b=W9/fu9H1l5uipcE6plVaaxMGgNWcNx9UK0YK7EmCmSxRk+yalJPhRLQ5jynB4JXGMHYv3l naHnhEKp/y2+12AyjdiGA5QpcmMHZzFrKRP+coJqriiT2nq8NLJkx4WalCIaOqtKUo1dan miCnmophbvkhINCQ0FtJHqQKwMiesWQ= Received: by mail-qt1-f171.google.com with SMTP id d75a77b69052e-41243a67b62so40102101cf.2 for ; Tue, 12 Sep 2023 10:32:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cmpxchg-org.20230601.gappssmtp.com; s=20230601; t=1694539960; x=1695144760; darn=kvack.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=wkTdSj2foDtzrxHFb+zU+yddoMluyMCPvY7ZkzAWYro=; b=HNvJr4t8cD5lJJiT1IZ9Dpf31AdUv3KagQqhYL7xtnjG/4mXo56onyRpnepB14OmEd Jr90pjVp8a6WW0ZTSY/UQRIbbyeWeRIN6AbfYBfsmipP5J3BrJNQ8Wr/Tyd5wcoOgw+o 2qiBkTYS1EwFDSCiJDrgNMZcgoNg+9g/ebjzqi2r/l+9xhb9X8kzLY5YpiN7emWSO4wT jPIgbZxiii+h+0Z/idsPZV8GgoZmlrQbHiijUuxX/0TjpCMH4Ze2kO3DeSoMviBlo6En nJiP3KISoXMvz9oCd1/we8UsgF5HtdUssWebVwXc59NukwPyEXe6DuUzQuUMkfsqTy8o 5QIg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1694539960; x=1695144760; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=wkTdSj2foDtzrxHFb+zU+yddoMluyMCPvY7ZkzAWYro=; b=CkFwPKZXIRPPV051ChluU2eD3l5uJslquTiCRI6GfOrjeRiOWG1P01VrAL+nhPhUg/ j5XoN+g7+tgQBR2Zm5A/DrwiJ5zZl2BFiBHHyKcB9AA+3fFtMLV8ItGtPINeR1qzsa0k zJEW23/cURYj17YbMJ8JfhLMx3YW+Yxrps9kef+jgCyZuxM1vaPHqBZbGSchPBxDcbbu 9SEBC51Vb9DYF/btM/P+HizOjUIuPiuUeLYzEHjWbuv+4VGjzG6BGqwpzNusworDpMTg 7CGejGj2I/sd7zzlc8J27VtXhNOzl5K+nzBpZ5leiC3ICQxvu+Oo7hL7zUov5L3JuqmI pugA== X-Gm-Message-State: AOJu0YyOSArNsk2Y/mvvrJSBLBhffBjdDxFqR3Bqs2r+O3nmujkDdAWz DkK/xCNI0/RKa3L+tX1NjHhD1w== X-Google-Smtp-Source: AGHT+IF+2qXb5xOBVmUJtnCYUR9grAByfiyi0C3FAXfr3C3jVJRxj8S4Rc6RDWDdSrEajMIRxOz9hQ== X-Received: by 2002:ac8:4e53:0:b0:412:a69:3a01 with SMTP id e19-20020ac84e53000000b004120a693a01mr18116847qtw.6.1694539959945; Tue, 12 Sep 2023 10:32:39 -0700 (PDT) Received: from localhost (2603-7000-0c01-2716-3012-16a2-6bc2-2937.res6.spectrum.com. [2603:7000:c01:2716:3012:16a2:6bc2:2937]) by smtp.gmail.com with ESMTPSA id r16-20020ac87ef0000000b0040ff387de83sm3441715qtc.45.2023.09.12.10.32.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 12 Sep 2023 10:32:39 -0700 (PDT) Date: Tue, 12 Sep 2023 13:32:38 -0400 From: Johannes Weiner To: Zi Yan Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, Zi Yan , Ryan Roberts , Andrew Morton , "Matthew Wilcox (Oracle)" , David Hildenbrand , "Yin, Fengwei" , Yu Zhao , Vlastimil Babka , Baolin Wang , Kemeng Shi , Mel Gorman , Rohan Puri , Mcgrof Chamberlain , Adam Manzanares , John Hubbard Subject: Re: [RFC PATCH 1/4] mm/compaction: add support for >0 order folio memory compaction. Message-ID: <20230912173238.GB34089@cmpxchg.org> References: <20230912162815.440749-1-zi.yan@sent.com> <20230912162815.440749-2-zi.yan@sent.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230912162815.440749-2-zi.yan@sent.com> X-Rspam-User: X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: E595D140022 X-Stat-Signature: nyqtxewoa4qpd8o6cthwcfqybekknzj1 X-HE-Tag: 1694539960-386218 X-HE-Meta: U2FsdGVkX1+g4A+Fod/LlnfrDdQw7lnmTaH4O00gwYAi4SkETKja6tyFnsnO1Bt7mrnE6dWUHka3L6WnjnFKhE+Hqmb1zta3KXXhaOVkBjBGLZyUQqCEM9rNjoCKkTrUT0R4KmPfyv3a+4TkUGq5qZt6XmkI8oWXikKqoiph0kyZL4/J9XRJ8Sp1qG+eSwvkv+NHtuvK9MVryIk1OEVXb9fuj+iOik0IhS8Dc/4Cf/UIBCW4rno6fYx1Xg9h24EMZ3suab6XHSKXbxq18CH4Jj8i1qFOygGQLjEfrgTIEMFPVEZzqJBDZEzXAVq+lP+KxPjO8lP4D7FFyiq/jng/uLQ0VhIqPdl7RbS0dn8sqqS+oVSmWTPOllcMsuSX5EQlWqIP5+YYCcs3tE+zJryPNX/DzK1Onur22o64Z77ULWkjOT42HSLlYQEvshIC9H5eKuJFs87nglDKEabXCwHExT0mF11dIvTdjzHGDTcN8WyFlaUJWPQ3oLqQ9ENik38sPsA0UFu306Js1VLwq0xBHiPglBzNcw5LqYmefv+5E4eQKH988qgp0Dv0AOlFWbhSNW2yOxM+rAKAfnXrPzFvlsQt+D+sKbV7N/FVrtfb0Rp4Q3JJhcGbTtW7duQGLbRLMu6ZUgFKdKnNQ1iw2rpIVHUElFQ985Tr+1f7Kp0gx3WEG18ZqMMc16vWc14B6TC1rk22CLYImWNYym/4y9Xo2AvLxehtUyv21ib6vBTnr2j2baMVc1ldHmKOd7sp8LmnbGBLqn1mMMsELtD7W/D9ODcwE/D3y7e2ejb7TVCZhIUsL44CugyWXspFRLoqXApBvj2NhbioyJVhqc/qV8vu9FeLmqeWPHkHL04OBFzxwloKb/dgD7aVafR1qUJtw2m6yz59YYaRbvOU4zYSG2I0Kr0icm+RBuLIYpP/mpWNuMjAkP+gcEnZId/+moL8uvw55jc9dacKeebBqSTcBsK VXJNc/SO VkPB9MKpilOqwMNNTzDvSsI5WEjPgFoz5NxQ8AiHvbKo1Y/WbGRE7dLEnliL1SiZ257TO9TtPITCAOIcZ9l83KSpMtNckLljyUpOlCz4JSlpYqu/sCnVjBNaz3aTY+augc6bhKf9NTWUYX68VXUUUnO2ITz0NT8MCUhEFrrGlunTCRDkYA/YZNEYcsr+Xf7zne29Oibzw/yyngQVST3etenN6o6l+rk5AeVSY4c0wjz/nW7oCllqKHu3pTkUGOgBVHtjjjSUOXmgPXqXTQKthFJDx/QQcegL8du+Kfe+Sv8kqf9UpROSeYhzaUL1XgY8+a/w4gXpUA1YTWTTull1jf23Bhi1oRTk655Fo7l/MDuR7kHSnlOQkDcTGfKBCmyTUp/lhwJtSJAbJfhveEAbVh45XoLEY+Hn0DyJ5kVhHVPBPRwP4RPUf4OtjMhwAS88hQQFdEATBhzZTsrQ16iKdrxHTgQ== 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: On Tue, Sep 12, 2023 at 12:28:12PM -0400, Zi Yan wrote: > @@ -1439,7 +1478,8 @@ fast_isolate_around(struct compact_control *cc, unsigned long pfn) > if (!page) > return; > > - isolate_freepages_block(cc, &start_pfn, end_pfn, &cc->freepages, 1, false); > + isolate_freepages_block(cc, &start_pfn, end_pfn, &freelist, 1, false); > + sort_free_pages(&freelist, cc->freepages); Can you make isolate_freepages_block() put the pages directly into a sorted struct free_list? AFAICS, the only place that doesn't technically need it is isolate_freepages_range(). But that's then also the sole caller of split_map_pages(), which can be made to work on struct free_list too without notable overhead.