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 D054BC61DA4 for ; Wed, 22 Feb 2023 16:25:02 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2380C6B0072; Wed, 22 Feb 2023 11:25:02 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 1E8F96B0073; Wed, 22 Feb 2023 11:25:02 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 08C7D6B0074; Wed, 22 Feb 2023 11:25:02 -0500 (EST) 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 ED9326B0072 for ; Wed, 22 Feb 2023 11:25:01 -0500 (EST) Received: from smtpin22.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id BA144160250 for ; Wed, 22 Feb 2023 16:25:01 +0000 (UTC) X-FDA: 80495452002.22.85242A2 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by imf28.hostedemail.com (Postfix) with ESMTP id 9DF6DC0023 for ; Wed, 22 Feb 2023 16:24:59 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=gG6sNQhW; spf=pass (imf28.hostedemail.com: domain of peterx@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=peterx@redhat.com; dmarc=pass (policy=none) header.from=redhat.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1677083099; 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=gLhtXBcdn1xpAegjTPnSxn7PzROariqCocZMwH9dRzI=; b=54SjSSOQmeDMpnWW0dmAA6YiEAKuAB/xdxz6sdLvzOVcKup6FEbUJfjxbfzhASktmr1tx3 7sJredDneQ3j5fVaJ/AVmEGwrIqZVcFZu+AFYE9xPOMk0KQV51OnoXWiNRk42kfbSGCr9T a2rby7aaffnFI8Djlqzucsophil+mn4= ARC-Authentication-Results: i=1; imf28.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=gG6sNQhW; spf=pass (imf28.hostedemail.com: domain of peterx@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=peterx@redhat.com; dmarc=pass (policy=none) header.from=redhat.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1677083099; a=rsa-sha256; cv=none; b=JnPjwOvFtv/88G/OnRRybL9MARwA5vGjcTGUnuxP8a6ALtGtuTwEMwr6XksGBc9YI8NC9E 1VCAR73xMv6adCpysl6Q1jKRr0w6A7oR7ziTWAaqLXoRnLoSzgfzEiG+GSHrA7YJZY1lLB yaC/Z44fZs/t1GHoLrzmLNxSHrPD900= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1677083099; 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: in-reply-to:in-reply-to:references:references; bh=gLhtXBcdn1xpAegjTPnSxn7PzROariqCocZMwH9dRzI=; b=gG6sNQhWSAYKR7Be4JXCC6OZA+ikzhMWOVDDGiJemyFqROrMi8uYXaMtcTueVPIi1IfRIg IYnm8ylOKxrekYxqN/bFZFWhdT2o6hhF3DGAwyPP0JM36Vapn87b+ZuFImI5jbznWaZjoe e0kWivSYv2RhM8jIYgdrgvr6C6kLNHE= Received: from mail-qk1-f197.google.com (mail-qk1-f197.google.com [209.85.222.197]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_128_GCM_SHA256) id us-mta-445-9gWXY9vyPyOsJBIRhfiJkw-1; Wed, 22 Feb 2023 11:24:57 -0500 X-MC-Unique: 9gWXY9vyPyOsJBIRhfiJkw-1 Received: by mail-qk1-f197.google.com with SMTP id c19-20020a05620a165300b007389d2f57f3so3776646qko.21 for ; Wed, 22 Feb 2023 08:24:57 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; 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=gLhtXBcdn1xpAegjTPnSxn7PzROariqCocZMwH9dRzI=; b=Zk2NJyJ8Rcj3wKqCigvXxSjMnxtStm5n7G33dSGbLYaFz8NJsZbnfGJaLLi0Mf/m57 myP98dNEAyFhoqGlkqqCiNoSgYTd6GUVmVw2fc4zSPnjWBVdoSOjRSEm3BgtRDXt43rX BHDejVosftZ5Jpg9XAZJIMsx2Q5aiTGFWv0UEYgtK+gbIbqCtUZ3x+1LwuC6PqLPuRCi sM3z/Ve9xhEhr1ikntPw/rOLYlbT+p7zoznUPnC9aMaDK2hK12m+qF6Xh3LjIhrwdwQs 3aSdB1Jfowi9+ILruYNvNZ5YY2oRTNnFrRH3m/CRkswXGq7WsszuJ52QbFJ38THyDt32 0XKA== X-Gm-Message-State: AO0yUKVsgVOwRzesunAdxgv6dOMCW74x9zoyTSgLg1MdvNMuDN5o8Jnz L1/L3pi2CLddq+kDUgLSHtz17/2So6gl1QSO/fJRpTh8MCfT4/aJGUyy7crEa6Dpg942AWDXnnz SWYOjX4YBcw4= X-Received: by 2002:ac8:59c1:0:b0:3ba:1ace:8bae with SMTP id f1-20020ac859c1000000b003ba1ace8baemr17912274qtf.0.1677083097090; Wed, 22 Feb 2023 08:24:57 -0800 (PST) X-Google-Smtp-Source: AK7set/5A0AmUDYT7IJUzSZ8nTb4vYF9+tWExtnRCHblwtLs4Hz9K4xqgIR+UaLkb0m2JzTB3GkoaQ== X-Received: by 2002:ac8:59c1:0:b0:3ba:1ace:8bae with SMTP id f1-20020ac859c1000000b003ba1ace8baemr17912228qtf.0.1677083096769; Wed, 22 Feb 2023 08:24:56 -0800 (PST) Received: from x1n (bras-base-aurron9127w-grc-56-70-30-145-63.dsl.bell.ca. [70.30.145.63]) by smtp.gmail.com with ESMTPSA id 13-20020a37070d000000b007419eb86df0sm3405091qkh.127.2023.02.22.08.24.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 22 Feb 2023 08:24:55 -0800 (PST) Date: Wed, 22 Feb 2023 11:24:54 -0500 From: Peter Xu To: David Stevens Cc: linux-mm@kvack.org, Matthew Wilcox , Andrew Morton , "Kirill A . Shutemov" , Yang Shi , David Hildenbrand , Hugh Dickins , linux-kernel@vger.kernel.org Subject: Re: [PATCH v4 1/3] mm/khugepaged: refactor collapse_file control flow Message-ID: References: <20230217085439.2826375-1-stevensd@google.com> <20230217085439.2826375-2-stevensd@google.com> MIME-Version: 1.0 In-Reply-To: X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=utf-8 Content-Disposition: inline X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: 9DF6DC0023 X-Stat-Signature: pe3hakohhzdmfbjnbwagk83jpzdb7esk X-Rspam-User: X-HE-Tag: 1677083099-835168 X-HE-Meta: U2FsdGVkX19LA+lx/opLeoe12oYcVl5dO6vWfabB7318pZzmnPLbvBipUevgtJDVN/zc84q9vf1ocSL8qNyGnWa7tmMMJw6fyKUbgt56shoTBE0yt4XwEpca5oJ8lCrv1HkAo+gtpj4BxCv5EiGAo6AxnVRBsKEDYzk8hv9x19moM5GX2quaFKSGv2eU5+X4pttNGJah5bH+eLfIxa9nGc4fnN1rnTfliD2UlQMEbQZG12j/7v8ycOAizZCgUY4kjN6fwTpAwspaRXY1nTCw2b9ohg/rylK0ZLEELeM4aK2qGentgmrl0f2AQgI941FcO7wMoRlQkiPwE/UNI/j8slwewI0gUaHxJ5qU40KvT1B1cvIy7V8qK4eyb8uBxmXDKPB+gGJVVuQwE9YlMae++CVMGkGgdlhq0r7EMY4D+3mpVLP1ZZsR8CbW4UyLN7L+645i49BcNULIvKqv29DlbrEJbfGhhAJ1JsYZXdzlK48uAmDHK7AucnnhTojczg6CGfS0MuolF+gr1GOAoOGtCSV7NWvoHknEFw6E/yd6OytmauTMLIuGTSzKAyYeDtPXWqiY5McR3miRhddCjOBi0ZKSNMqVmuxLN1yGsiBazx8kkvs6egqYuVvH2sEXaxPJ919l/TAQTXCWDqSSnB6qQ18NdVmvqRDBrmEtjxHpCNsSUJRPLWPPKhk7ZMwRhmFI8+3bJ34/FWFg6TXQCZ2ADNwtbZUlqaurgCjyu48j2gP4/PctqcbR/D7eYEG2c/L0FwgTTo+gfjYsdcMIq6dTvIss7zQD1P/hIPDBAJOWJNoUmOOoik9RqixhRMKHqsQGtNNZ5lxENMZjOlVsldhQNQptJ4mcSma7exY0jKnd201XkoXNLVQnJ2ya1gdd+DybCdFUfcDR1lbeEWjX4p/Q9pq446sSHxmD56TOuX9nu40wtXDF3SajGvNzpTuRZojHdGYkV7SbFJVW8cfgW8T b9KxDqOW iQcio/DoJ7jhgretCfuv7iyTsOJMHUQ/eNjUl8NF/wwoeHgNumifw94+8IpjGQgrWED4JBjY8pmFwtS5qrVjgWU/5uUIvdJJ18qN/A9q2eEd7Doilwg3TwiBfayBLbckcfefRjv+KPe7CYoohjdm+oBCxhvDNMdci8RTrK1za5qOYewE+d4zPPFl/NGINMknoRkM20pVqttQnrXN3dw9Eoy/h4S6spHx+/eiHCRNCugcXiWgnhezzl2jGPtQ9+KtHtfruQ9tzJJ8aBNW82grARdRZ0COw0a19uorT9Ktn/9mLVuV2NX/xdOo9EBdIZgMC4Ui8UaRVW4ZgM3dhkmSk8rnrIG+Ic+CIXAizW0eVUr7JgQ42Ru8bXiDtqylnckWrLUw5iyeqWYaFDwu/4jMOgtWInjXKSWWP0qdWUu9OiAiHSPpdXeJ0WiX5+itsbd6HtUD8d/p6l/0zoGAJ612kgUG6UooGyR3ManULh34/vRnBeBeyBL4JIC8ApvIj0C/+pJsb X-Bogosity: Ham, tests=bogofilter, spamicity=0.000002, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Wed, Feb 22, 2023 at 01:08:19PM +0900, David Stevens wrote: > > > out: > > > VM_BUG_ON(!list_empty(&pagelist)); > > > - if (hpage) { > > > - mem_cgroup_uncharge(page_folio(hpage)); > > > - put_page(hpage); > > > - } > > > > Moving this chunk seems wrong, as it can leak the huge page if > > alloc_charge_hpage() failed on mem charging, iiuc. > > > > And I found that keeping it seems wrong either, because if mem charge > > failed we'll uncharge even without charging it before. But that's nothing > > about this patch alone. > > > > Posted a patch for this: > > > > https://lore.kernel.org/all/20230221214344.609226-1-peterx@redhat.com/ [1] > > > > I _think_ this patch will make sense after rebasing to that fix if that's > > correct, but please review it and double check. > > > > Ah, good catch. I didn't notice that alloc_charge_hpage could allocate > *hpage even on failure. The failure path should work properly with > your fix. Thanks for confirming. If we can merge above [1] before this patch, then I think this patch is correct. Only if so: Acked-by: Peter Xu -- Peter Xu