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 41135C433F5 for ; Thu, 9 Dec 2021 01:41:06 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 788366B0071; Wed, 8 Dec 2021 20:40:55 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 737E66B0073; Wed, 8 Dec 2021 20:40:55 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5D9796B0074; Wed, 8 Dec 2021 20:40:55 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0182.hostedemail.com [216.40.44.182]) by kanga.kvack.org (Postfix) with ESMTP id 4EB166B0071 for ; Wed, 8 Dec 2021 20:40:55 -0500 (EST) Received: from smtpin16.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay04.hostedemail.com (Postfix) with ESMTP id 0EF0187CAE for ; Thu, 9 Dec 2021 01:40:45 +0000 (UTC) X-FDA: 78896551650.16.18AE348 Received: from mail-lj1-f176.google.com (mail-lj1-f176.google.com [209.85.208.176]) by imf09.hostedemail.com (Postfix) with ESMTP id 73696140004 for ; Thu, 9 Dec 2021 01:40:43 +0000 (UTC) Received: by mail-lj1-f176.google.com with SMTP id l7so6704906lja.2 for ; Wed, 08 Dec 2021 17:40:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=VjeIPi8OJz1Y5lzXRXO/qLj2/D5NNLAyvQVxi1um2lk=; b=QWiKLmt4owGvD/Kwrs7gKLF2gUP/260TfKUS+9mNn+eWeOLW1Xn8lPM0//RryP2Uzh Ilq/qcM1+oS473gHt+S4uB/ssDF0A+A3IeZcj9fKkDu8vSxpcbL8v2710YOc9NhYg2ak QUiWadz9O+V7PDKQ7VLwDiYS3g/B1WZVFJ0fr88hgPtVXTdLsHg0hMl+hYUeRcDFQ2gH EwiiOZYc10cotH7V5u09KyyTwNbh9xtahcq/3FuLpgTcMaa24y6+YNQNTYgDLLNer+Sr ioYecLLoXT/YgJwMlXdOzsS2bAPHslRB49jJiAfi9RSVn3OJoe+SpnzFu3u3wyb3fSU9 f9Gw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=VjeIPi8OJz1Y5lzXRXO/qLj2/D5NNLAyvQVxi1um2lk=; b=0oSKUxQV9RjczxhBx0b+1GyJA6AWYViXYFA/ZWdAh1frQ/8d4QAXg9QYCI9otVi6Y0 kPi8JemUaBnWumyZUy3b7nwJPfVPPZdNsleottrxrXUYNL04pFywuMlVeyx1wWhOjABc 5EUbSq9nqs1Tq2NZpvSMOv910IN4Hiepyz14DfsSZ5OAOkr/n1g4HKWlRfFSSJjo+gzZ whew6JjyVV/GrTxQKbb4zHNlmyVN2vTUQxjHvA8LOsr4sH9isHHNaKAFic5Sflgam54Z 9xzdYF1rNlqkPFzeWNzYihPEzU2BPpVhkG7YbP8O7OL4/F8QpVgGvQFop7sQJAiforVO rfYQ== X-Gm-Message-State: AOAM530lKQadV+THXUZU0j2lz5/BbBWGErGOCzxz86U6/gele9PJ7H/t s1YKD/gKqWPEdJkb6Pc0tLELJ8FY+PE= X-Google-Smtp-Source: ABdhPJzNYmwh9Y/fkjzkINHH8gmJTkbI57sGPGKZ9xAlIvKgZIsHlFINF+ifn7Fs/0iv/SogjgtbHQ== X-Received: by 2002:a2e:5d7:: with SMTP id 206mr3127983ljf.133.1639014042863; Wed, 08 Dec 2021 17:40:42 -0800 (PST) Received: from localhost.localdomain ([131.228.2.20]) by smtp.gmail.com with ESMTPSA id z23sm435772ljk.136.2021.12.08.17.40.41 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 08 Dec 2021 17:40:42 -0800 (PST) Subject: Re: [PATCH] mm/gup.c: stricter check on THP migration entry during follow_pmd_mask To: Andrew Morton Cc: linux-mm@kvack.org References: <20211208133930.599253-1-lixinhai.lxh@gmail.com> <20211208153523.bc1810ff2049fae53b4749c2@linux-foundation.org> From: Li Xinhai Message-ID: Date: Thu, 9 Dec 2021 09:40:35 +0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.14.0 MIME-Version: 1.0 In-Reply-To: <20211208153523.bc1810ff2049fae53b4749c2@linux-foundation.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: 73696140004 X-Stat-Signature: 93ncgdwbf51ezmqmpr63ck9gg5cg44d8 Authentication-Results: imf09.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=QWiKLmt4; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf09.hostedemail.com: domain of lixinhai.lxh@gmail.com designates 209.85.208.176 as permitted sender) smtp.mailfrom=lixinhai.lxh@gmail.com X-HE-Tag: 1639014043-318401 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 12/9/21 7:35 AM, Andrew Morton wrote: > On Wed, 8 Dec 2021 21:39:30 +0800 Li Xinhai wrote: > >> When BUG_ON check for THP migration entry, we need also consider >> !thp_migration_supported() case, becaouse it is invalid at the code >> context. Now, make this check been covered without adding extra cost. >> >> Because pmdval instead of *pmd is read, so just call >> pmd_migration_entry_wait(). >> >> Signed-off-by: Li Xinhai >> --- >> mm/gup.c | 5 ++--- >> 1 file changed, 2 insertions(+), 3 deletions(-) >> >> diff --git a/mm/gup.c b/mm/gup.c >> index 2c51e9748a6a..49f490bae030 100644 >> --- a/mm/gup.c >> +++ b/mm/gup.c >> @@ -644,10 +644,9 @@ static struct page *follow_pmd_mask(struct vm_area_struct *vma, >> if (!pmd_present(pmdval)) { >> if (likely(!(flags & FOLL_MIGRATION))) >> return no_page_table(vma, flags); >> - VM_BUG_ON(thp_migration_supported() && >> + VM_BUG_ON(!thp_migration_supported() || > > I don't get this. thp_migration_supported() evaluates to a > compile-time constant. What is the point in doing a runtime BUG based > on a thing which is known at compile-time? > Yes, support thp migration is compile-time known. The exsiting VM_BUG_ON will be nothing if thp_migration_supported() equal to false, so pmdval other than migration entry will not be caught. Now, with the patch, if thp_migration_supported() equal to false, we will have VM_BUG_ON(1) so to catch above error case. >> !is_pmd_migration_entry(pmdval)); >> - if (is_pmd_migration_entry(pmdval)) >> - pmd_migration_entry_wait(mm, pmd); >> + pmd_migration_entry_wait(mm, pmd); >> pmdval = READ_ONCE(*pmd); >> /* >> * MADV_DONTNEED may convert the pmd to null because >