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 E3510C74A5B for ; Thu, 23 Mar 2023 15:40:45 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 76EF86B0072; Thu, 23 Mar 2023 11:40:45 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 6F7C76B0074; Thu, 23 Mar 2023 11:40:45 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5BF3B6B0075; Thu, 23 Mar 2023 11:40:45 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 463E06B0072 for ; Thu, 23 Mar 2023 11:40:45 -0400 (EDT) Received: from smtpin01.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id EA5211C5B90 for ; Thu, 23 Mar 2023 15:40:43 +0000 (UTC) X-FDA: 80600575566.01.B7B1C81 Received: from mail-yb1-f180.google.com (mail-yb1-f180.google.com [209.85.219.180]) by imf10.hostedemail.com (Postfix) with ESMTP id 37F4CC002C for ; Thu, 23 Mar 2023 15:40:42 +0000 (UTC) Authentication-Results: imf10.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=pZto6I+v; spf=pass (imf10.hostedemail.com: domain of shakeelb@google.com designates 209.85.219.180 as permitted sender) smtp.mailfrom=shakeelb@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1679586042; 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-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=aXqZ3IJA77cnf/fukJT6xyyWj+RxTe/4tMZOB+1mbkQ=; b=xSLx2dtH23oayHdraCrlaHlpWpezzg/yoCvxDVGW9HzQY6rWwknlMzsFAOC/wMPfzS55rY 3q/cWAFZHU2P0ePNRo1fQm/xbHfMT5S4q7xe/99osHWC9OCRg/4E9EpQM+2OtjT/31Ey5/ LqTBQ5SP2PjPcLqjDULhekXSV6KC9lQ= ARC-Authentication-Results: i=1; imf10.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=pZto6I+v; spf=pass (imf10.hostedemail.com: domain of shakeelb@google.com designates 209.85.219.180 as permitted sender) smtp.mailfrom=shakeelb@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1679586042; a=rsa-sha256; cv=none; b=TYSrdU2l4D/dzN9na+1sEka6K7L4hzDFYqDD+RoIygF5CY6ZDI0XW9NpWT+YrecqEgIKyF 2iy4Eg+V9WOHGgHLtW9fW1eBJKRdClBSOnb0cgDFAsgr4kpntkFDzy60QY4xH5FHnWdZ75 pO7EHfFrYTFkB02+wXXkRqAyoW6po90= Received: by mail-yb1-f180.google.com with SMTP id r187so1252895ybr.6 for ; Thu, 23 Mar 2023 08:40:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; t=1679586041; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=aXqZ3IJA77cnf/fukJT6xyyWj+RxTe/4tMZOB+1mbkQ=; b=pZto6I+vvxaphKg4Ca9NDWCYEUNhj7BJYmHfaAG8M51g5rBMERT2pTxw32czJVRwqf EXpqwyXIM77qAJ204++TM8DrNrSWXsJyryfpkiZaymGsJv+mhNCo+v4QMcuWklOwQ1zb 14XunBWOhtBzzFTiU3Gj8RFDbfEQ4MSASypSDfsLzNrh14XAxfBwpnKQD7EnPJaTeklc QpjEu0BIrsjS593Tol8303VAwfsZeO1qSu7wHKzhAJW4G9NFMuqTCi3YV8xqFEcXgHrN 7FMdZFQg1MqDPNCzODUn974BlGYh8gXmdMD2HE3tXqWplxkq95RhThaIWYkoMKBBBJ0Y EGwA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1679586041; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=aXqZ3IJA77cnf/fukJT6xyyWj+RxTe/4tMZOB+1mbkQ=; b=lETmdObVFTfkaCl3q6Gu/fbfnO7ko5q5YD2T3ZkL1SzhYT9iUVhFsFjDKpI3FfBA0W /4B5nd5ZHZgGo5RIOafQvZmabymA99lIIbf5N04RpIUD/36p9lFRw3HEdPLFW+gmQknP o3XFc53CiGuyx+7qTw6W9ap+5hrgguOxzD31p3t4ywUEnmJgp1tTbqdlLbFFO/QlY4Ka a/JC7VxT9fh7hUXTfpulJpzZ2iQ5prAoa40O/MSQciWWUufMcf5PTVmQF5buiJ2DGz2U O6kyGGZRFO/rJlDqeQ0HzRM5ruNg3+QNJMDdGVJ/3GcicE55EKRF9CqiS3qvwbkIYwSw TTrw== X-Gm-Message-State: AAQBX9cHntg1v01bZgY/5q9wje4kghdtKsF/jxOXDgpC9TJCz+AcnjUo g/dsc+h6f8smGJU1VgOdzJjrk/pdApngAdUOE8m5sA== X-Google-Smtp-Source: AKy350a50T0eMMPyL8hbiqxSf8FqZlw1dWta2IKhAFk++fAM4XiuwKP9tfvhLOJ/p8i1fAwcvy/Zde16et8l9oC4gKw= X-Received: by 2002:a05:6902:1083:b0:b67:d295:d614 with SMTP id v3-20020a056902108300b00b67d295d614mr2101971ybu.12.1679586041114; Thu, 23 Mar 2023 08:40:41 -0700 (PDT) MIME-Version: 1.0 References: <20230323040037.2389095-1-yosryahmed@google.com> <20230323040037.2389095-2-yosryahmed@google.com> In-Reply-To: From: Shakeel Butt Date: Thu, 23 Mar 2023 08:40:29 -0700 Message-ID: Subject: Re: [RFC PATCH 1/7] cgroup: rstat: only disable interrupts for the percpu lock To: Yosry Ahmed Cc: Tejun Heo , Josef Bacik , Jens Axboe , Zefan Li , Johannes Weiner , Michal Hocko , Roman Gushchin , Muchun Song , Andrew Morton , Vasily Averin , cgroups@vger.kernel.org, linux-block@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, bpf@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 37F4CC002C X-Rspam-User: X-Stat-Signature: mehzak6zt6yq1rqo143hpbza4a1rmhx8 X-HE-Tag: 1679586042-462715 X-HE-Meta: U2FsdGVkX1/5S20MD8xyrFo4yooZFtn1ES1FpjQuuf78eH6zKNBe4x3+ek4pS96Cyz70t2nbOTd5hrxbAxScIMODj8X2YQaHpXIldc6Qm6hifgYGpDxaBZ4TYlNrD32X2wEMA4KkTp5mZb5ZHJgr/KzFr4iQzuxATlyogacgcMbdm3PtMzjqIwknOCrrzIsf6kQsw1YvyoqX9KuaBjqHS+9y9Lj0Zpb1eMDRDny9g3HgfoqVBCwERa5NuLzxzG44fpU0To/y6yaI/qldN3OmqyBxxIJaFpf+iCv0dDy4WD3334RtOBqsHRZINWSODT6pApUbb3whdYTXmZkyhuOHrBgIY2f/3GJjgf5WacqK4eVR58wpZM0SrMoOz/JApUrLksooOg3jwhdFA11Ojqn3aiPQD4xyV4n/CRESOkz+/xvfDrE8oVMsG4xfU2S8ItNVJGUgV1W3t3JUGzS03FuaeSdCUXXVL9ggeAAaPFWqEbEsboIMPe3B4xXx5G6zYusWhcyYvHYe+4sIvPsPiTzPo2AnC778/tn0RSwKq6Ap7JxdRM218VmYY94ps4EWvOtjDFYj0bFtmkTv965Y6oVMMJx4DaNnW+hEQ52BAZMJ31674F19ezL2HjIsFInXvT3x6tAs++kDF4+wKeyjdHtJUNCbWhIMatPLdvHCNu3KttFpqwe2E8gx3ILVlC10mc3q8zYL35nYJHUPe5A2oTRkOUiXrhpfqC22CcyCdiysjUBjEaoHNO2AZHDmMaubmO+7YWB2i37B2JRanEMDaRLMzqsA+N9A2toDXDdlRoDuG3ac8d6cyaLs5r1ZAuLzFJwcBUQ1xaapIHu0Y2MmQWPjTvduQBWvhsnAb9YgZ9dgo4IZe2qrxyYquXearHrQxpWnwnnMjbpiKaq6h3Cx1FOumKV8eKUv/4yBhgbcwnYioyb+hdHaEcAojrvcXpKjskoQI+vgIL+VTnyHHn6K7BA NsHRpnHh YGafyYYxAfdydkWDf+30g7XqP4nLa75fwPRDhcIsoZuaFXlhpSmZeawiQGZZzFJeByZanXm8IndjuE6zWCKSOmF4OaMMy84w1zvtIdX1XLF6qzLAv9qLncQQsx13BRA+cl+NODVqgKDjumNxfqu2++/7h62OQvZNTPF4k4B4lXFUSuqNcGYNozmbxpitDfVvZvApTigPWrCjLbz9yfij8tz7zQ0+WrsqBpYXMqXKq/oHr71D44fEj6EvzMvZoOHh3u4FbG1tVQTCpvAU= 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 23, 2023 at 6:36=E2=80=AFAM Yosry Ahmed = wrote: > [...] > > > > > > > 2. Are we really calling rstat flush in irq context? > > > > > > I think it is possible through the charge/uncharge path: > > > memcg_check_events()->mem_cgroup_threshold()->mem_cgroup_usage(). I > > > added the protection against flushing in an interrupt context for > > > future callers as well, as it may cause a deadlock if we don't disabl= e > > > interrupts when acquiring cgroup_rstat_lock. > > > > > > > 3. The mem_cgroup_flush_stats() call in mem_cgroup_usage() is only > > > > done for root memcg. Why is mem_cgroup_threshold() interested in ro= ot > > > > memcg usage? Why not ignore root memcg in mem_cgroup_threshold() ? > > > > > > I am not sure, but the code looks like event notifications may be set > > > up on root memcg, which is why we need to check thresholds. > > > > This is something we should deprecate as root memcg's usage is ill defi= ned. > > Right, but I think this would be orthogonal to this patch series. > I don't think we can make cgroup_rstat_lock a non-irq-disabling lock without either breaking a link between mem_cgroup_threshold and cgroup_rstat_lock or make mem_cgroup_threshold work without disabling irqs. So, this patch can not be applied before either of those two tasks are done (and we may find more such scenarios).