Received: by 2002:a05:6a10:2726:0:0:0:0 with SMTP id ib38csp3498833pxb; Mon, 4 Apr 2022 18:56:24 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwSPvtFArTEt4ZDGawlV41wFz/Ppd43zzPdZikvHmQKCPMxn3Rpu6XFoAlwQCw/GivqRhVW X-Received: by 2002:a05:6a00:891:b0:4fe:1262:9b4e with SMTP id q17-20020a056a00089100b004fe12629b4emr1151192pfj.21.1649123784188; Mon, 04 Apr 2022 18:56:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1649123784; cv=none; d=google.com; s=arc-20160816; b=OPqEiuNJRrFhkgffX7jvxBAW4PE6RtoZqUOaBUmL0Fd9YqCDzNhW9x7wfClIdYmwre DkJI6L2bYqzLHpfF3HgLMoiV6yBFYS/e3nHN7YQRbluqMNZuP71Q6wDwKaSyJE3pSN5x uRMf2rOcmFbEv3DyHWOGSidw+2nDkh9FaD5FoPf63nMXPIfZRPAIKxfXr9hzlh6EeLU5 GerJvSMpk92CMZEyRqM8xHRMHZjSBsYgxPJWR6XFfldj2hq5Mjt77s8X3LMRP0JPdvTb Eejz49TxaMKtCJYBGVSgJBqDwiyhOxsWrlJzvYXd9bJpH5GITfsfKsOMBvuGL5L3UJgL xptQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:user-agent:message-id:in-reply-to :date:references:subject:cc:to:from:dkim-signature; bh=PSXrpJnaEnsX/qSVYBAUYfLSzpajMl5p4WzAkCZYNhY=; b=pmxBn/FEOUmu3pC9nwA5tKzIBT1sDO2FpcvoGQX4YsoKPJQRTvSziMj0wwt3N8qrcP m4SuVn/isn7KSINbbCUePcKw2842/ujfeEYh+HZNhpUn8qFaisLmGMF+eFpKPBADAbN3 E1LqbZRlnVbR98oVceK9gqnI5afEogXS3PCvMkzZgj9FrKJXxNwXnQCSHZHiqtsYdkBx 6uaYx42qI6JM3R8Ega4lL7tp4qXP+Qd8LM851uj2ZqWSxizKcBcCEQr3oHqEKwDcKWc3 2r7qWiK1RCV1gye4miugoHAtnH1MJ8lmcQkQ50L5ZZmd6Qqa1mx8133jJyREiAadRdR4 BP9w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=Tot79oCv; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [23.128.96.19]) by mx.google.com with ESMTPS id d7-20020a056a0024c700b004fdda9d4d77si8768134pfv.129.2022.04.04.18.56.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 04 Apr 2022 18:56:24 -0700 (PDT) Received-SPF: softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) client-ip=23.128.96.19; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=Tot79oCv; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 7A1B832354A; Mon, 4 Apr 2022 18:00:36 -0700 (PDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S242259AbiDBIPO (ORCPT + 99 others); Sat, 2 Apr 2022 04:15:14 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43636 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229948AbiDBIPN (ORCPT ); Sat, 2 Apr 2022 04:15:13 -0400 Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4874ECC7; Sat, 2 Apr 2022 01:13:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1648887202; x=1680423202; h=from:to:cc:subject:references:date:in-reply-to: message-id:mime-version; bh=tUJDWtBsVmdyxP5li7Z+DxSKC/ML2/OMaCS+cELECpE=; b=Tot79oCv9KXklW3aXS5YkJ3ZXltkr65lzGhnDHD6RjoWmIyszZoeLtY2 3AYh+Fbgm5VQqrghqFZib373pZVJHR+ilkmDuS1L1iCIyvZ7liC7hidOt mb7O11xcMlVhGVTUGUK5cMTNXY74kAf6YJJj+cq7hwrM+j5fmtepGn/xD tPGPco9PtMHv56ro3csSPn9TWNtO1tV2zZTJ0WLixnrkFrhyamKG/2BGR TvW7+It7IOo52ryvzA4ycBGGctH4I/E2xTxEB9MfSNJ+yglly4kOXAly1 8ZQtbU01tqYY0+EUNL80IVwLHwNPT1Bg3HqM8cr9Y3jEmPY8hNimfPlgt w==; X-IronPort-AV: E=McAfee;i="6200,9189,10304"; a="260274263" X-IronPort-AV: E=Sophos;i="5.90,229,1643702400"; d="scan'208";a="260274263" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Apr 2022 01:13:21 -0700 X-IronPort-AV: E=Sophos;i="5.90,229,1643702400"; d="scan'208";a="568127496" Received: from yhuang6-desk2.sh.intel.com (HELO yhuang6-desk2.ccr.corp.intel.com) ([10.239.13.94]) by orsmga008-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Apr 2022 01:13:17 -0700 From: "Huang, Ying" To: Wei Xu Cc: Michal Hocko , Yosry Ahmed , Johannes Weiner , Shakeel Butt , Andrew Morton , David Rientjes , Tejun Heo , Zefan Li , Roman Gushchin , cgroups@vger.kernel.org, linux-doc@vger.kernel.org, Linux Kernel Mailing List , Linux MM , Jonathan Corbet , Yu Zhao , Dave Hansen , Greg Thelen Subject: Re: [PATCH resend] memcg: introduce per-memcg reclaim interface References: <20220331084151.2600229-1-yosryahmed@google.com> Date: Sat, 02 Apr 2022 16:13:15 +0800 In-Reply-To: (Wei Xu's message of "Fri, 1 Apr 2022 09:56:08 -0700") Message-ID: <87y20nzyw4.fsf@yhuang6-desk2.ccr.corp.intel.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=ascii X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RDNS_NONE,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Wei Xu writes: > On Fri, Apr 1, 2022 at 6:54 AM Michal Hocko wrote: >> >> On Thu 31-03-22 08:41:51, Yosry Ahmed wrote: >> > From: Shakeel Butt >> > [snip] >> > Possible Extensions: >> > -------------------- >> > >> > - This interface can be extended with an additional parameter or flags >> > to allow specifying one or more types of memory to reclaim from (e.g. >> > file, anon, ..). >> > >> > - The interface can also be extended with a node mask to reclaim from >> > specific nodes. This has use cases for reclaim-based demotion in memory >> > tiering systens. >> > >> > - A similar per-node interface can also be added to support proactive >> > reclaim and reclaim-based demotion in systems without memcg. >> > >> > For now, let's keep things simple by adding the basic functionality. >> >> Yes, I am for the simplicity and this really looks like a bare minumum >> interface. But it is not really clear who do you want to add flags on >> top of it? >> >> I am not really sure we really need a node aware interface for memcg. >> The global reclaim interface will likely need a different node because >> we do not want to make this CONFIG_MEMCG constrained. > > A nodemask argument for memory.reclaim can be useful for memory > tiering between NUMA nodes with different performance. Similar to > proactive reclaim, it can allow a userspace daemon to drive > memcg-based proactive demotion via the reclaim-based demotion > mechanism in the kernel. I am not sure whether nodemask is a good way for demoting pages between different types of memory. For example, for a system with DRAM and PMEM, if specifying DRAM node in nodemask means demoting to PMEM, what is the meaning of specifying PMEM node? reclaiming to disk? In general, I have no objection to the idea in general. But we should have a clear and consistent interface. Per my understanding the default memcg interface is for memory, regardless of memory types. The memory reclaiming means reduce the memory usage, regardless of memory types. We need to either extending the semantics of memory reclaiming (to include memory demoting too), or add another interface for memory demoting. Best Regards, Huang, Ying [snip]