Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp1012983pxf; Thu, 18 Mar 2021 18:01:55 -0700 (PDT) X-Google-Smtp-Source: ABdhPJy7UoSTmQKX7O02Gj70eaHsvwMZzixTgX7OFeZPI31KKbqV+1aKyVsfpyXhfmE+KfaYQMQn X-Received: by 2002:a17:906:dbd0:: with SMTP id yc16mr1508120ejb.71.1616115715581; Thu, 18 Mar 2021 18:01:55 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1616115715; cv=none; d=google.com; s=arc-20160816; b=jTVJvySd6BtufR6AH6o0jdtZaZQYOTyuAx3QH5RiBiespB9PyWD2OvObLngHt4LsH/ znWowqWkPr5wooNPsSLetQzjUJ5WycoIXH9IqX+mjT2p0VRAosU3JdF0r1fWzsYz3yuH 5wnxmJePkXES1k3b2Y4rGBW+4ISt5mTZdPMd7szTQzsOxT28k8/xbemx0Sqjx6GnJwF/ 59gksyhQdoZl7jEpVckCrQah+zZOvDWUUgbyeZ8qbQe64P9x7LFAvxFyAk33PI61OR/1 NFOUVp/idgY8gJjVRkAUdS7W948H7tyog4KBIqwfdibTIbhvnrHUO1bJMR0ydvtIBclk Otdw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=6gTh132+rc2eC7+iuJdnPJjGut8rCOk0bv/jkoJwjos=; b=RB6t+FOvyFUA2LS/Z74fRkyUaTa/ein41N1EZwPwZhk1SGONAPdRl6vdFY5j+GzxbX NR3uT+1eNneTHx8D/AteH6hZbxGrfcD+8R2ow7pjh0PwvaC0B2uqKd+NZ1ID/CbxJjH3 jbtbNLLkUO31Yyv2n70HxGXQpmBf+1PSvWEkSJdZkTxkTdwuCXSwCXS6XqjnJKipz+Me /DiFR3tD8fx1t+pRxScmU8ByKkTnq7iWr1nGx4Oh2HRDRwLSVFlFZ8js1jCPZeb1MgrZ UCN4Y4Y/tE1bfLZ8HCLA3Rvs1sh/fpANe2fsMposT1etMMsEwgX9XKAl+IY4r4luphlE GVAQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=dKTes1FK; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id c1si2748308edt.469.2021.03.18.18.01.33; Thu, 18 Mar 2021 18:01:55 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=dKTes1FK; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233360AbhCSA4w (ORCPT + 99 others); Thu, 18 Mar 2021 20:56:52 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49932 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233427AbhCSA4s (ORCPT ); Thu, 18 Mar 2021 20:56:48 -0400 Received: from mail-lj1-x231.google.com (mail-lj1-x231.google.com [IPv6:2a00:1450:4864:20::231]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 94DE6C06175F for ; Thu, 18 Mar 2021 17:56:41 -0700 (PDT) Received: by mail-lj1-x231.google.com with SMTP id u4so9869407ljo.6 for ; Thu, 18 Mar 2021 17:56:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=6gTh132+rc2eC7+iuJdnPJjGut8rCOk0bv/jkoJwjos=; b=dKTes1FKvp/DzPE43p1AwRBeRVKFON9qL1XwrpMNHUbvBm7Q85xfRixMCaNBCkPDxx 0f3qo6HyoxcRQkWCXA7TtPgH5vMcUYGmA00b6LpeYS9SUx5dWhNQ5hHuH8Ii4ULjkflM DigmBVyvCZL7eApstVvrAD96tXpWWwyXd6EVlj/yWRcT/pSoyuIBa19KQlI93IT5oxFQ jQPgTzIe2XuV+LhQ5xRI/GFv83yN7Oy3IDPCR1nXVyyWo3aDBIdHKjeVV0VuKMe79nnm gVIggj7RDj13QlGC0t80BCt3pm87t/v49IonN9jOSlziU2Jz2l93SA0lqzWnN8OIDREF 2IfA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=6gTh132+rc2eC7+iuJdnPJjGut8rCOk0bv/jkoJwjos=; b=ePzH0dvCePNENhsVbcDyVQKmvKZRduu4jtH4PkEGINLYU+oWmHeYRzSmi6P6MWjCJL gmJmrc3nqIhPlu6ykKy/QRRRndktOoMR/6mV2HJpbXnaoelVUDQB4oekODs0BDvbmAMd vDNr+IZvQTLb0YCLPkH1U3lIDNmLmLUSxGaMA7Zb+1BjlYTjvZ9fXZAM7wHqFsz+QP8m O0WHFGV0aBhrHoBRQdBMBBhwF9zWis3KrB7dksOI3611XWz5YyYRo+RWIB++c7l2gh3+ /dfFvZUl6wrLr3YxrOnqwRf40TzE5I5mObbrPi/E2LguPGHKKE3svksEkpwG4Lhk3AjD xO8A== X-Gm-Message-State: AOAM531YI6w9MyGt6cWNtFzthJHmu4oa+pF+N6UQyb3Hfy4wbIhYqypH sI0wUN0WX4lTbVqcSS8YQL5eEE2O/h1tfS3zWZVEFw== X-Received: by 2002:a2e:7d03:: with SMTP id y3mr7056052ljc.0.1616115399502; Thu, 18 Mar 2021 17:56:39 -0700 (PDT) MIME-Version: 1.0 References: <20210316153655.500806-1-schatzberg.dan@gmail.com> <7ca79335-026f-2511-2b58-0e9f32caa063@kernel.dk> <8c32421c-4bd8-ec46-f1d0-25996956f4da@kernel.dk> <20210318164625.1018062b042e540bd83bb08e@linux-foundation.org> In-Reply-To: <20210318164625.1018062b042e540bd83bb08e@linux-foundation.org> From: Shakeel Butt Date: Thu, 18 Mar 2021 17:56:28 -0700 Message-ID: Subject: Re: [PATCH v10 0/3] Charge loop device i/o to issuing cgroup To: Andrew Morton Cc: Jens Axboe , Dan Schatzberg , Tejun Heo , Zefan Li , Johannes Weiner , Michal Hocko , Vladimir Davydov , Hugh Dickins , Roman Gushchin , Muchun Song , Alex Shi , Alexander Duyck , Chris Down , Yafang Shao , Wei Yang , "open list:BLOCK LAYER" , open list , "open list:CONTROL GROUP (CGROUP)" , "open list:MEMORY MANAGEMENT" Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Mar 18, 2021 at 4:46 PM Andrew Morton wrote: > > On Thu, 18 Mar 2021 10:00:17 -0600 Jens Axboe wrote: > > > On 3/18/21 9:53 AM, Shakeel Butt wrote: > > > On Wed, Mar 17, 2021 at 3:30 PM Jens Axboe wrote: > > >> > > >> On 3/16/21 9:36 AM, Dan Schatzberg wrote: > > >>> No major changes, just rebasing and resubmitting > > >> > > >> Applied for 5.13, thanks. > > >> > > > > > > I have requested a couple of changes in the patch series. Can this > > > applied series still be changed or new patches are required? > > > > I have nothing sitting on top of it for now, so as far as I'm concerned > > we can apply a new series instead. Then we can also fold in that fix > > from Colin that he posted this morning... > > The collision in memcontrol.c is a pain, but I guess as this is mainly > a loop patch, the block tree is an appropriate route. > > Here's the collision between "mm: Charge active memcg when no mm is > set" and Shakeels's > https://lkml.kernel.org/r/20210305212639.775498-1-shakeelb@google.com > > > --- mm/memcontrol.c > +++ mm/memcontrol.c > @@ -6728,8 +6730,15 @@ int mem_cgroup_charge(struct page *page, struct mm_struct *mm, gfp_t gfp_mask) > rcu_read_unlock(); > } > > - if (!memcg) > - memcg = get_mem_cgroup_from_mm(mm); > + if (!memcg) { > + if (!mm) { > + memcg = get_mem_cgroup_from_current(); > + if (!memcg) > + memcg = get_mem_cgroup_from_mm(current->mm); > + } else { > + memcg = get_mem_cgroup_from_mm(mm); > + } > + } > > ret = try_charge(memcg, gfp_mask, nr_pages); > if (ret) > > > Which I resolved thusly: > > int mem_cgroup_charge(struct page *page, struct mm_struct *mm, gfp_t gfp_mask) > { > struct mem_cgroup *memcg; > int ret; > > if (mem_cgroup_disabled()) > return 0; > > if (!mm) { > memcg = get_mem_cgroup_from_current(); > (!memcg) > memcg = get_mem_cgroup_from_mm(current->mm); > } else { > memcg = get_mem_cgroup_from_mm(mm); > } > > ret = __mem_cgroup_charge(page, memcg, gfp_mask); > css_put(&memcg->css); > > return ret; > } > We need something similar for mem_cgroup_swapin_charge_page() as well. It is better to take this series in mm tree and Jens is ok with that [1]. [1] https://lore.kernel.org/linux-next/4fea89a5-0e18-0791-18a8-4c5907b0d2c4@kernel.dk/