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 0E5E8C6FD1F for ; Sat, 25 Mar 2023 04:37:48 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 5CE946B0071; Sat, 25 Mar 2023 00:37:48 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 57ED46B0074; Sat, 25 Mar 2023 00:37:48 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 420916B0075; Sat, 25 Mar 2023 00:37:48 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 2CC3C6B0071 for ; Sat, 25 Mar 2023 00:37:48 -0400 (EDT) Received: from smtpin03.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 02BE1A0A9A for ; Sat, 25 Mar 2023 04:37:47 +0000 (UTC) X-FDA: 80606162616.03.3AC3A5B Received: from mail-ed1-f46.google.com (mail-ed1-f46.google.com [209.85.208.46]) by imf01.hostedemail.com (Postfix) with ESMTP id 2A27540004 for ; Sat, 25 Mar 2023 04:37:45 +0000 (UTC) Authentication-Results: imf01.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b="L+/JPY/0"; spf=pass (imf01.hostedemail.com: domain of yosryahmed@google.com designates 209.85.208.46 as permitted sender) smtp.mailfrom=yosryahmed@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=1679719066; 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=NMuWO+eqM4F8nQZaJRTjXyqs2/5MQPRiPwC4jEGB2Rs=; b=jG9bI9n6mlWn7DsI8OvHprFLq6l+XEFVIsWnplVvNVfBeYy1cFFtmS+oO0kH2SrtZ507FM G+EoRh/DZmVK/p/y8vBc5waOoqzs3PeZmSeKP8WLUckLLY6E+TWsQISfPvOaipgojcljE3 GThaHt3q1LDNxfiqqM1T52LlvpmI13I= ARC-Authentication-Results: i=1; imf01.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b="L+/JPY/0"; spf=pass (imf01.hostedemail.com: domain of yosryahmed@google.com designates 209.85.208.46 as permitted sender) smtp.mailfrom=yosryahmed@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1679719066; a=rsa-sha256; cv=none; b=kNhi5UJowPWZCyLVbcYf14Z0GGdR1E59x2NWVBtbuJATcanFY1EfwJeCCyB80yEkZ+5DRs QA/Sgxl+sq7pVplW2+IAN0tslZr9qDC9hOQShy1mVhs5dv3QHYrp2pujOZK9BDVn57GmnT /6cyrRGD54/1twYdJE32RDRh0bj+8p4= Received: by mail-ed1-f46.google.com with SMTP id h8so15328417ede.8 for ; Fri, 24 Mar 2023 21:37:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; t=1679719064; 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=NMuWO+eqM4F8nQZaJRTjXyqs2/5MQPRiPwC4jEGB2Rs=; b=L+/JPY/0iREVQLvI7pggvIU85qKWyZuwLse9KHVQy00x8LnQk15zEqQ2dItfbkf8Xc jinjmlAjwTxba/K+cbeiot0mNiIF15Oi4eDBVwxanGDJjspzMRs/QEKZhb3nTnGG20Qk VCIX3A1iKO2CtSUq+wB+uKNxtSvCDACGv/ulf6pILtz7hI/K1gI6rhNEP0DsLW0t3JSg AzhYalbZFDACojW1EW0rFcfP25ejlhpDyTw+3o3AN5EoMcU49k0QrbmBymzShyxBd/Kn HTBVcaYssSwFsoVs2gUZS47oZ5CUrOJQR6m1EZ/9EUrtjdiIBWvfQH4XA7Ier1JLOUtr 7ZBw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1679719064; 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=NMuWO+eqM4F8nQZaJRTjXyqs2/5MQPRiPwC4jEGB2Rs=; b=gslwVqdwF2Bn4BCV8X3CL67cwZ4Yo1gI7PuDJ0dQ49Dw5YMNeeZI8qmOY0AQfQOvG/ VXP637exInIjcmEqtoOdRJF7lPOuiB5iiNxMh8KEXvh8JvXL0RfswyDTo0vQGT7Y6PDS Od8R0B2C6z7krNAOZ5zKquHOfproF7SOqCya6u6VuLU+8GQr/k6mckMH+8ubyFbJUZa0 Ej9WNGn9pU2rNqVGrYwSXs1z2mccyi8y/d7K8+OidD5iET3KAvBxxeE7Y8olOcIX52Qz mj5LZS/IwtyS6Tgk9XKLQargZiZK66scHBpgbQ5tFBNcjstPIinrYUpvjQic8hu+sxBz KTfA== X-Gm-Message-State: AAQBX9dyr6qZdRwwQOs9Ao4sp3heHkRJsFf0MCA6FTSIgNeBYXdnrycH Lmq5VPijQuaKeA4bW2Yq+yiBxxwcSxZWPP7jUkaELQ== X-Google-Smtp-Source: AKy350ajeVEN1YL/A5LyBT3MNx+S9894fnEde+UlgHop0XZQuymsxOUauOZsMlfyTFFYpSAYAe/0Nmd3XOqUQC3RIck= X-Received: by 2002:a17:907:1c09:b0:92f:b329:cb75 with SMTP id nc9-20020a1709071c0900b0092fb329cb75mr3153111ejc.5.1679719064436; Fri, 24 Mar 2023 21:37:44 -0700 (PDT) MIME-Version: 1.0 References: <20230323040037.2389095-1-yosryahmed@google.com> <20230323040037.2389095-2-yosryahmed@google.com> In-Reply-To: From: Yosry Ahmed Date: Fri, 24 Mar 2023 21:37:08 -0700 Message-ID: Subject: Re: [RFC PATCH 1/7] cgroup: rstat: only disable interrupts for the percpu lock To: Shakeel Butt 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-Stat-Signature: gmkj1tt87qmg8umx4qzguhbie4zs61rd X-Rspam-User: X-Rspamd-Queue-Id: 2A27540004 X-Rspamd-Server: rspam06 X-HE-Tag: 1679719065-606975 X-HE-Meta: U2FsdGVkX1/BGkivSKvi5DaLgluUgFG39b9FlDnDF7xhPSsFkwEtIZgWyModNe+Fh6sXzoXIdBzNlT5l9TqlGRGAdOXDLYmdKnPOH1JGx9DJE0PuVYlGlNxouI8IdWq+waqHHp0LJk7gpllOY6W8jRv2/6OMuvnV52EzKh2jf4z1O5Wr9+1nLuNQhNu9GF0a67L9NaUJ52itvZl1WnqqolhRopWsVdxD4t6T9LdrbIzZuBu3iiZIoZDTl2Ooi/VJ58WV+Qw3Ch71XxTMuAn5hz+HrssC14B/59doZ64wJlETvQjt+bc7r3CAwFcobxXwBox/UI9HhvmwnLMPsLJJc8PIHyYNgdpxI7rbUchR6eBqv/Ax1bC4WrFfqfSMjTKN5eIx5hHgy9iQ50VXOaRNCyUGN3qDpGCPr68drgeLh0RGkLV3mJdkzIYBHRGK1+cQgSuYZ+Kphmc4Jopc3O9UObE++raJ/AOJFsk/OEkKDKyKrSOwu0aOUSKMngKdwMtCSmX/NzQMGT+hP93o/FPSrpdHvZajHC1ZLvGIcfZXPLGx2TGh5OCdkoq8GLrnD/nuAslsbVj63/Mjo+oSpm9yM5251fU4kWTwZxbpumk/HA//2VSRSIi73MDPHgudzqbEEaLSxkziT+3z/8A9iGGm9bniBP+6VMFpY7G9exBtvTJpwq9TvWcCqkCsQkMKu7XFHKbPN6mdq3ZiZJ5kYTwQ6HhSIM+1C2dAeiL1eu7Hzunh6+++uEGgCYIWy63ezqGDq4xEHbzPoNmX+wEHgG2LM6kSi1UP8LRNya56kvlqZSf6Xop3aWoIBW4URJEUXO1v6WB8Xeer6rtGSyAP61Foxw1iFbSxt+N16O7FWrfZ5dG1y5VDviUqjENe3r2ZEo3L+brZ1FWTpaiMwB+ahefVAGMfk88Awlg1DPNC7aTY9bKn7Ohfydt+WYLvsky8xw/oVsGIxf9Ag4k21oMhtox euM1ItLF YF9XftepyiJdEq7N8x4vy8dGexoaqH3jS2fwIXfJGZxPTTjV/HlHIaSOopLjeelo4Ng6MjXHlaCPAfSotx0jnhTm6vix5LHnba0+ds0D9N/6WvalkIy5TeD5mglW58zte1D47RvW60kNs96056pA+JN+syKbt6MI3Fu5aycx/G7M92bvQRrnMxG0aN3iSZNLpJaVjD4Lz/oYyTnjVjRSbkZkVJVFaU9ATaGhWjHddcr+H/BKLcmOLTTvgte3dK1euX1XQBf830F7up0k= 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 Fri, Mar 24, 2023 at 9:31=E2=80=AFPM Shakeel Butt = wrote: > > On Fri, Mar 24, 2023 at 7:18=E2=80=AFPM Yosry Ahmed wrote: > > > [...] > > Any ideas here are welcome! > > > > Let's move forward. It seems like we are not going to reach an > agreement on making cgroup_rstat_lock a non-irq lock. However there is > agreement on the memcg code of not flushing in irq context and the > cleanup Johannes has requested. Let's proceed with those for now. We > can come back to cgroup_rstat_lock later if we still see issues in > production. Even if we do not flush from irq context, we still flush from atomic contexts that will currently hold the lock with irqs disabled throughout the entire flush sequence. A primary purpose of this reason is to avoid that. We can either: (a) Proceed with the following approach of making cgroup_rstat_lock a non-irq lock. (b) Proceed with Tejun's suggestion of always releasing and reacquiring the lock at CPU boundaries, even for atomic flushes (if the spinlock needs a break ofc). (c) Something else. I am happy to proceed with any solution, but we need to address the fact that interrupts are always disabled throughout the flush. My main concern about Tejun's suggestion is atomic contexts having to contend cgroup_rstat_lock much more than they do now, but it's still better than what we have today. > > Tejun, do you have any concerns on adding WARN_ON_ONCE(!in_task()) in > the rstat flushing code?