Received: by 2002:a05:6a10:144:0:0:0:0 with SMTP id 4csp341779pxw; Fri, 8 Apr 2022 08:53:54 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxBb60TkIqe41upbgHXh2eSbBCEpmXchHorvdI8LHNwEjZj+cfPRyiYLZXGh96+vrOS0luv X-Received: by 2002:a05:6a00:1395:b0:4fa:e546:39c3 with SMTP id t21-20020a056a00139500b004fae54639c3mr20158488pfg.33.1649433233895; Fri, 08 Apr 2022 08:53:53 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1649433233; cv=none; d=google.com; s=arc-20160816; b=YLxIqdqNBLA/r05cvqDfVrDoqzRsPEB2+utrremygw+ZJlgIrww7ufY85YwDSlIYUG H54IcaVbpRNyvxljuNOshe/4OB4aaIHBLpzYkxMFy8+T3M9XWhmrh96mcaXVxoTKqI7r Fc7mZUQokD22Lee4/eQargqvCt81UY5rVjDNHGA+DHzyUukJQd8PEUclPZM5xGrLkb5V I46p2VLxIhPMGVO84JIVuqtVsGo3kWYm4bgh5aHZMbqdQrqFiBIxCQUv0cXCdqnNmnDD d/5Qs0LLILMmmampUO7Vekpn1KYRR5fdTJlUvW8nuiHTD0evY4PaDDLuJgF+I0X4ROYt c2dQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=gNPsT3NKhlXnfi2F2vg55Kv/xhOi4VGOL+j6MMtTFeQ=; b=ZQY/fIDg5YjcQDsT/N/SmYBlzjOWWo04MkjqBxi7t5MZprXnWq6GipncSwjPgerH9t Cpo8Z4mU2+dTX7rkXLgPDTJLeVwPAqTbNeb5hWLcfiVFsSpIRuFeC4pmBmUoUA35yuxO kZvhbnefI67ujnK7b30x6sRhfvsDf/idO9oU24RaM2uMYq7tgiW5O3LEYS+5ESuOXip9 7C/EirNQD8CpmRwrzRN+OCFoMBmnQs+cP8f5/E3EYyg/JFWMdT1NDlTiipQtm2C1rbpt V0t9iypiDJRlVWD5P+ffJ9b0OZGxgPTCjcie1cFLy4zP1VGN6cQNM6Um9SM/rf1Q7qcI EfqA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@suse.com header.s=susede1 header.b=cfXqbCqy; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=suse.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id t71-20020a63784a000000b00381cbf13898si1703306pgc.373.2022.04.08.08.53.38; Fri, 08 Apr 2022 08:53:53 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@suse.com header.s=susede1 header.b=cfXqbCqy; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=suse.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236751AbiDHONU (ORCPT + 99 others); Fri, 8 Apr 2022 10:13:20 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60312 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236718AbiDHONO (ORCPT ); Fri, 8 Apr 2022 10:13:14 -0400 Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 659C334B914; Fri, 8 Apr 2022 07:11:10 -0700 (PDT) Received: from relay2.suse.de (relay2.suse.de [149.44.160.134]) by smtp-out1.suse.de (Postfix) with ESMTP id 19956210EE; Fri, 8 Apr 2022 14:11:09 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1649427069; h=from:from:reply-to: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=gNPsT3NKhlXnfi2F2vg55Kv/xhOi4VGOL+j6MMtTFeQ=; b=cfXqbCqyXyBa9orgccUoy4424ix9hLjiTcErReYj3EGVeVskbNNPsd6jezIUyblN1T6VI/ /PKqJNKcV+Av8NjuXjYKDNOPjnnWzy0/mCCms8pAaSht4wSV42B5hoL2fPkU54vQzpRJeZ ikVj76De+BwGGpCsVa7bGeTVBr4jiS0= Received: from suse.cz (unknown [10.100.201.86]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by relay2.suse.de (Postfix) with ESMTPS id 4364AA3B83; Fri, 8 Apr 2022 14:11:08 +0000 (UTC) Date: Fri, 8 Apr 2022 16:11:05 +0200 From: Michal Hocko To: Dan Schatzberg Cc: Yosry Ahmed , Johannes Weiner , Shakeel Butt , Andrew Morton , Roman Gushchin , David Rientjes , Tejun Heo , Zefan Li , Jonathan Corbet , Shuah Khan , Yu Zhao , Dave Hansen , Wei Xu , Greg Thelen , Chen Wandun , Vaibhav Jain , Michal =?iso-8859-1?Q?Koutn=FD?= , Tim Chen , cgroups@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, linux-kselftest@vger.kernel.org Subject: Re: [PATCH v3 1/4] memcg: introduce per-memcg reclaim interface Message-ID: References: <20220408045743.1432968-1-yosryahmed@google.com> <20220408045743.1432968-2-yosryahmed@google.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED autolearn=ham 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 On Fri 08-04-22 09:43:03, Dan Schatzberg wrote: > On Fri, Apr 08, 2022 at 04:57:40AM +0000, Yosry Ahmed wrote: > > +static ssize_t memory_reclaim(struct kernfs_open_file *of, char *buf, > > + size_t nbytes, loff_t off) > > +{ > > + struct mem_cgroup *memcg = mem_cgroup_from_css(of_css(of)); > > + unsigned int nr_retries = MAX_RECLAIM_RETRIES; > > + unsigned long nr_to_reclaim, nr_reclaimed = 0; > > + int err; > > + > > + buf = strstrip(buf); > > + err = page_counter_memparse(buf, "", &nr_to_reclaim); > > Is there a reason not to support "max"? Empty string seems odd to me > here. I have to say I have missed the special meaning of the empty string here and I agree this would indeed really weird. Does cgroup core even call here? cgroup_file_write seems to drop !nbytes input. Regarding "max" as a possible input. I am not really sure to be honest. I can imagine that it could be legit to simply reclaim all the charges (e.g. before removing the memcg) which should be achieveable by reclaiming the reported consumption. Or what exactly should be the semantic? -- Michal Hocko SUSE Labs