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 34B6CC433FE for ; Mon, 21 Mar 2022 12:04:30 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id AE0EE6B0072; Mon, 21 Mar 2022 08:04:29 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id A8FC16B0073; Mon, 21 Mar 2022 08:04:29 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 930966B0074; Mon, 21 Mar 2022 08:04:29 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0126.hostedemail.com [216.40.44.126]) by kanga.kvack.org (Postfix) with ESMTP id 7FCCB6B0072 for ; Mon, 21 Mar 2022 08:04:29 -0400 (EDT) Received: from smtpin27.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay02.hostedemail.com (Postfix) with ESMTP id 3F673A4A56 for ; Mon, 21 Mar 2022 12:04:29 +0000 (UTC) X-FDA: 79268261058.27.A192E3B Received: from mail-pf1-f169.google.com (mail-pf1-f169.google.com [209.85.210.169]) by imf21.hostedemail.com (Postfix) with ESMTP id 9FFB91C0027 for ; Mon, 21 Mar 2022 12:04:28 +0000 (UTC) Received: by mail-pf1-f169.google.com with SMTP id d19so15213747pfv.7 for ; Mon, 21 Mar 2022 05:04:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to; bh=5wM5oc/qGqPRm9eHrVGn9VhXD+Ebt8HaLEMG+j1FPV8=; b=ANwYR1851LYRyUzlBy9yCDmefbcw+dtz9Weiw2IAsUWMgwWNOt7vqjSFesvZczXjTM r6akG55ZFfWp0xPYfsEuEH+CgYKuiLbDP+hfvrkNrQontaVz7b0QbnA9sjRBhFOC4Hwf hb+GOAcJ953ZzFPhNKQxGZsnOs64gpkoEIX5j1eVjjMfTBIjXljiyNVZw4KRDIugj9Bk 4PORPHLKkWNNU5qJSEncrZU4hOFOX/PMggb9hgqGTfg2loBKWc9ULZPhBY7zUwTs6jvi zK/hVNAwwU65aVXLN+nVsP2ovH9JR83K4FwmPI7AELysmbfv2dCawHfbchU8LUeju3fs Lsvg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=5wM5oc/qGqPRm9eHrVGn9VhXD+Ebt8HaLEMG+j1FPV8=; b=epvoBKd58eGWX0i6ojcjTJ6kUitli3pXwjs9CRbO9NRsw0Dt38yNd03qYv8xsQlbab udLjHqlt0dtKmgGU5XntAhZRlLiaMAUppb+9cJQ4ulqUGKa24xXP48o06Hu7ibH8sF2g 0B+hun1tfyTammXP/kW0qfiBeyHkEt4CsW3MvL9AKPYBbI/ysKKDZuO51jc3GryuSNzV 6cXv3NynsT1bW58m3FChkurIXXXL29ZIjGCI5i1a0pK/q1WkqVJ/076hVTSgp6GD86a8 YJW2+wb9Tf2pm69iCINH6X584M9GKezPhfedMa8CDj76bH/a+/YlSbJbc3YE2E+zr55k hItQ== X-Gm-Message-State: AOAM530oGv8vdB13qtULhmYZUQN0dbEmxqn1hAvxV4JcgwcXbxnHnaDr Mf90lwt9vc00ZiY25uu4G10= X-Google-Smtp-Source: ABdhPJwBB3ljMvE9r8NOHjfHQSD3f80I1d97dhOe/XDW23sYrRkWY/cojiGqY43lJTgSmaB1KzP1rA== X-Received: by 2002:aa7:9019:0:b0:4fa:7532:9551 with SMTP id m25-20020aa79019000000b004fa75329551mr15275981pfo.26.1647864267445; Mon, 21 Mar 2022 05:04:27 -0700 (PDT) Received: from ip-172-31-19-208.ap-northeast-1.compute.internal (ec2-18-181-137-102.ap-northeast-1.compute.amazonaws.com. [18.181.137.102]) by smtp.gmail.com with ESMTPSA id o3-20020a639203000000b003810e49ff4fsm15683589pgd.1.2022.03.21.05.04.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 21 Mar 2022 05:04:26 -0700 (PDT) Date: Mon, 21 Mar 2022 12:04:20 +0000 From: Hyeonggon Yoo <42.hyeyoo@gmail.com> To: Yang Shi Cc: vbabka@suse.cz, kirill.shutemov@linux.intel.com, linmiaohe@huawei.com, songliubraving@fb.com, riel@surriel.com, willy@infradead.org, ziy@nvidia.com, akpm@linux-foundation.org, tytso@mit.edu, adilger.kernel@dilger.ca, darrick.wong@oracle.com, linux-mm@kvack.org, linux-fsdevel@vger.kernel.org, linux-ext4@vger.kernel.org, linux-xfs@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [v2 PATCH 3/8] mm: khugepaged: skip DAX vma Message-ID: References: <20220317234827.447799-1-shy828301@gmail.com> <20220317234827.447799-4-shy828301@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20220317234827.447799-4-shy828301@gmail.com> X-Rspamd-Queue-Id: 9FFB91C0027 X-Rspam-User: Authentication-Results: imf21.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=ANwYR185; spf=pass (imf21.hostedemail.com: domain of 42.hyeyoo@gmail.com designates 209.85.210.169 as permitted sender) smtp.mailfrom=42.hyeyoo@gmail.com; dmarc=pass (policy=none) header.from=gmail.com X-Stat-Signature: 3915kep5hndzoherpr45s3obewuutq68 X-Rspamd-Server: rspam07 X-HE-Tag: 1647864268-273015 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 Thu, Mar 17, 2022 at 04:48:22PM -0700, Yang Shi wrote: > The DAX vma may be seen by khugepaged when the mm has other khugepaged > suitable vmas. So khugepaged may try to collapse THP for DAX vma, but > it will fail due to page sanity check, for example, page is not > on LRU. > > So it is not harmful, but it is definitely pointless to run khugepaged > against DAX vma, so skip it in early check. in fs/xfs/xfs_file.c: 1391 STATIC int 1392 xfs_file_mmap( 1393 struct file *file, 1394 struct vm_area_struct *vma) 1395 { 1396 struct inode *inode = file_inode(file); 1397 struct xfs_buftarg *target = xfs_inode_buftarg(XFS_I(inode)); 1398 1399 /* 1400 * We don't support synchronous mappings for non-DAX files and 1401 * for DAX files if underneath dax_device is not synchronous. 1402 */ 1403 if (!daxdev_mapping_supported(vma, target->bt_daxdev)) 1404 return -EOPNOTSUPP; 1405 1406 file_accessed(file); 1407 vma->vm_ops = &xfs_file_vm_ops; 1408 if (IS_DAX(inode)) 1409 vma->vm_flags |= VM_HUGEPAGE; Are xfs and other filesystems setting VM_HUGEPAGE flag even if it can never be collapsed? 1410 return 0; 1411 } > Reviewed-by: Miaohe Lin > Signed-off-by: Yang Shi > --- > mm/khugepaged.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/mm/khugepaged.c b/mm/khugepaged.c > index 82c71c6da9ce..a0e4fa33660e 100644 > --- a/mm/khugepaged.c > +++ b/mm/khugepaged.c > @@ -448,6 +448,10 @@ static bool hugepage_vma_check(struct vm_area_struct *vma, > if (vm_flags & VM_NO_KHUGEPAGED) > return false; > > + /* Don't run khugepaged against DAX vma */ > + if (vma_is_dax(vma)) > + return false; > + > if (vma->vm_file && !IS_ALIGNED((vma->vm_start >> PAGE_SHIFT) - > vma->vm_pgoff, HPAGE_PMD_NR)) > return false; > -- > 2.26.3 > > -- Thank you, You are awesome! Hyeonggon :-)