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 8BEE4C6FA82 for ; Tue, 13 Sep 2022 15:18:03 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 092EB8D0001; Tue, 13 Sep 2022 11:18:03 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 042466B0072; Tue, 13 Sep 2022 11:18:02 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E733E8D0001; Tue, 13 Sep 2022 11:18:02 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id D84B56B0071 for ; Tue, 13 Sep 2022 11:18:02 -0400 (EDT) Received: from smtpin25.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 91652121230 for ; Tue, 13 Sep 2022 15:18:02 +0000 (UTC) X-FDA: 79907417604.25.791BC50 Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75]) by imf17.hostedemail.com (Postfix) with ESMTP id 2ED1940096 for ; Tue, 13 Sep 2022 15:18:01 +0000 (UTC) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id 4CCFEB80D87; Tue, 13 Sep 2022 15:17:59 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 84D93C433C1; Tue, 13 Sep 2022 15:17:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1663082278; bh=UFuyDwznO8ZwtLcStnaZ9JsjmgrVUXjXM/FFOXRJBaE=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=C188hfqeWizeKtA5CVnQ2eNvWzPCg9IkKG9N294NZzM5ScgNCZ+MJDnhGLLthPZSP TJnsh6FIEiAbpfkIZtoMaE94TfEszHZ3vn9twzQjImtTa+SanqkU5QWpUcEeLl+JRZ rCkb5Cu147gCnQCH9T3Rm0FeZJoXJRer60fODjXyyU/KdcMXeizWXOVxhz+3CNp0gn ROu8r8RFNGTgEaclFhF9N+MLE0pgHiAD5V0gz1ExjB8AlX4YlxCEcYQbYvD8zikrVn ddpsHOd4P+VfrkFyVokDCGNvJgzKKk+1RYZJBASqSYvrVv4hHm6qgiOU/yra92Y1zU FSjLBX1CRp1uQ== From: SeongJae Park To: Xin Hao Cc: sj@kernel.org, akpm@linux-foundation.org, damon@lists.linux.dev, linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] mm/damon: add MADV_COLLAPSE support in damos_action Date: Tue, 13 Sep 2022 15:17:55 +0000 Message-Id: <20220913151755.103334-1-sj@kernel.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220913114735.22841-1-xhao@linux.alibaba.com> References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1663082281; a=rsa-sha256; cv=none; b=5zVbUc9eAKkQTBp2h+XXvoCrcvqJ5a5rMxi8TcywvADJAkQElEMyd3AQQGV/fJLvhI4uLn coL5++WUn8aTmqJWuJuxKHYE+UusVodGLcNcOhM1qDUGIf2FyqXMCZpBvaNfkR4gr3mYxx qlQo0j1T+5fUy+NMaismWwKdPMCERV4= ARC-Authentication-Results: i=1; imf17.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=C188hfqe; dmarc=pass (policy=none) header.from=kernel.org; spf=pass (imf17.hostedemail.com: domain of sj@kernel.org designates 145.40.68.75 as permitted sender) smtp.mailfrom=sj@kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1663082281; 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:in-reply-to:references:references:dkim-signature; bh=IJyVB/u+Hw8KofPZXBkoX3jY3h7Wqzscq3hIXixtzyM=; b=vvnmt5Ha2mhnCZJWy71GAH+OA4oxeQPpSrgkkGu9nqGgfI4SuWK/60NqR6lar1ssnD1gPh 7Pa6xuLQMm4q2Ki596nsy+t713Sdew0fzDVvU1D63zVOLhVo9zNM2L3G+25LN4cvN29Ocd pq66vDrAFoNApaUTgHRk7jHZw/Q+4Qk= X-Rspamd-Queue-Id: 2ED1940096 Authentication-Results: imf17.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=C188hfqe; dmarc=pass (policy=none) header.from=kernel.org; spf=pass (imf17.hostedemail.com: domain of sj@kernel.org designates 145.40.68.75 as permitted sender) smtp.mailfrom=sj@kernel.org X-Rspam-User: X-Rspamd-Server: rspam03 X-Stat-Signature: h4wgief9hs8ipjzxy5gj83bhndpbexnt X-HE-Tag: 1663082281-53329 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: Hi Xin, On Tue, 13 Sep 2022 19:47:35 +0800 Xin Hao wrote: > MADV_COLLAPSE has large different with MDVA_HUGE in dealing with huge > pages, it doesn't need to rely on 'khugepage' thread to create THP. > So combining with it will give damon users more options. I think this is a simple and worthy change, but... could you put some more detailed explanation of the scenario that the action could be used? Also, it would be good to have some evaluation results you got with this change. Also, to my understanding, MADV_COLLAPSE is not merged in the mainline yet, right? I believe it will make it in v6.1-rc1. That said, to make Andrew's burden less, how about delaying this change until MADV_COLLAPSE is mainlined? If you have some numbers showing clear and great benefit of this change, I think it would be worthy to add immediately, though. Thanks, SJ > > Signed-off-by: Xin Hao > --- > include/linux/damon.h | 1 + > mm/damon/vaddr.c | 3 +++ > 2 files changed, 4 insertions(+) > > diff --git a/include/linux/damon.h b/include/linux/damon.h > index 016b6c9c03d6..c44f9410d997 100644 > --- a/include/linux/damon.h > +++ b/include/linux/damon.h > @@ -97,6 +97,7 @@ enum damos_action { > DAMOS_PAGEOUT, > DAMOS_HUGEPAGE, > DAMOS_NOHUGEPAGE, > + DAMOS_COLLAPSE, > DAMOS_LRU_PRIO, > DAMOS_LRU_DEPRIO, > DAMOS_STAT, /* Do nothing but only record the stat */ > diff --git a/mm/damon/vaddr.c b/mm/damon/vaddr.c > index c2c08c1b316b..58c0d068563d 100644 > --- a/mm/damon/vaddr.c > +++ b/mm/damon/vaddr.c > @@ -655,6 +655,9 @@ static unsigned long damon_va_apply_scheme(struct damon_ctx *ctx, > case DAMOS_NOHUGEPAGE: > madv_action = MADV_NOHUGEPAGE; > break; > + case DAMOS_COLLAPSE: > + madv_action = MADV_COLLAPSE; > + break; > case DAMOS_STAT: > return 0; > default: > -- > 2.31.0