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 8D8C0C6FA8F for ; Tue, 29 Aug 2023 16:05:18 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id CF9E8280033; Tue, 29 Aug 2023 12:05:17 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id CAA188E001A; Tue, 29 Aug 2023 12:05:17 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B70F2280033; Tue, 29 Aug 2023 12:05:17 -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 AA0C88E001A for ; Tue, 29 Aug 2023 12:05:17 -0400 (EDT) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 76BE81601AD for ; Tue, 29 Aug 2023 16:05:17 +0000 (UTC) X-FDA: 81177616674.18.F79CFA5 Received: from mail-ej1-f43.google.com (mail-ej1-f43.google.com [209.85.218.43]) by imf22.hostedemail.com (Postfix) with ESMTP id 9D86CC0002 for ; Tue, 29 Aug 2023 16:05:15 +0000 (UTC) Authentication-Results: imf22.hostedemail.com; dkim=pass header.d=google.com header.s=20221208 header.b="HU/WionO"; spf=pass (imf22.hostedemail.com: domain of yosryahmed@google.com designates 209.85.218.43 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=1693325115; 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=z79jhU7o/NUfJHuqLql7WhGDUVVNML8fOs/maDU7iyc=; b=eFwFFgyHalZCG0+0oHglmGa5pruZ5o5yU2x8VbkdWGgZcZ3KpNHyIxBL/O8GupeTsQd10J YzwmylGOECOpANMIRk35JVT8GSkYrqFBh1dLAJsMED97MW++8lb0Lk5XaQhoYic6ynW12Y 9FwSVQYYz0D/NmJ/K6f2bbSF9C+2Xc4= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1693325115; a=rsa-sha256; cv=none; b=tGF9otl10z4EUJbTGhMdrW8gsv31dU3lm7TCNoTA9TCUKVi7Zie/q0exx8BZ6Lz9Oujlw1 sxzcIshJxrrZfV4doWW9S1mU+RPvitFY3qR7awc2SPw5l3SHU6+JDDJf9Afs7iB5cWNy1R Kayq+IX4kE2RdgHgXKU8wtkK3wkwQz0= ARC-Authentication-Results: i=1; imf22.hostedemail.com; dkim=pass header.d=google.com header.s=20221208 header.b="HU/WionO"; spf=pass (imf22.hostedemail.com: domain of yosryahmed@google.com designates 209.85.218.43 as permitted sender) smtp.mailfrom=yosryahmed@google.com; dmarc=pass (policy=reject) header.from=google.com Received: by mail-ej1-f43.google.com with SMTP id a640c23a62f3a-99bcf2de59cso607481466b.0 for ; Tue, 29 Aug 2023 09:05:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20221208; t=1693325114; x=1693929914; 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=z79jhU7o/NUfJHuqLql7WhGDUVVNML8fOs/maDU7iyc=; b=HU/WionO7dHsradhblbEvF6SjWyz4OqPBhbtHC38sImO18QxSafcV5WjAP1HOaS88J rilbruX+yteYYkDBba6T/dOAbY5kVTXRyrLxtGcWAGkk47x8gDLQ6AJ1EQn9badyKsj9 4Pj9lLwH6jStEmJipnLzXkgT9BdZUA7ob0Zy5yu6uXq85H26G+ggQS8FZhbieVjA0cHV 50n570Yo0XzxwoYhkim7ah5t+gCGhoLXmfYrILMAeYyDdhAKpEKjc3mZsRbw1YoWWEml DzRd7bpK8CWPfob+UoExg1LMpr+yo8Yya+uJh3V+vhWVBxtOFdggG+lOB1291kz9XgW2 xpMA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1693325114; x=1693929914; 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=z79jhU7o/NUfJHuqLql7WhGDUVVNML8fOs/maDU7iyc=; b=fkHEUvwT0HSRy8HmKddQ3vR+Xl9I1w9x9O0T9psd4SsN36lsN2XlGirj6SGC4LVem7 68GXsl2j3rsoaOgQrXVcTt56iKnuH28v/yb9rLsp2q8XlEcl9ZN/wtb+KDeGDRDBzLT6 q8p2cTTAs2RU7JaaFzuE7WOb9LOVtAlhOJ15abPhBNnz3Xe/mPyTZsXugQq0ry2fu0MO FlDAa20OLpdmNKxAbNniY8aTCgCGvtWLCAKx7vSPa3OgkMZe5dhnO8/Mi48yO10y68br qCB293Cy21K60K1m0oaA+wtYuDyux09XqGajJkM7MFaGVeMuERLpdld1cRbfl3dT2ZF1 DR5g== X-Gm-Message-State: AOJu0YwKHJilw0q0jmb33jsEEb/+VE7uYUTuVMo2CWA/mOVG9HO2RmiD 74jphkjuVAcFaNmi/nsyV4iqbDmdZun0uQp90ZDGyg== X-Google-Smtp-Source: AGHT+IHGQRIOKu7zBaSTeFzg76p4v7MjLmRkp9Ao8ZeIgBqT7UU9YdCYpUTL+MGJQBpw3GRpN6MDJkYwGONdW4nPwUo= X-Received: by 2002:a17:906:32db:b0:9a1:914e:490e with SMTP id k27-20020a17090632db00b009a1914e490emr20864309ejk.53.1693325113936; Tue, 29 Aug 2023 09:05:13 -0700 (PDT) MIME-Version: 1.0 References: <599b167c-deaf-4b92-aa8b-5767b8608483@redhat.com> <5906501e-4dff-4c66-7ab3-e9193d312270@redhat.com> In-Reply-To: From: Yosry Ahmed Date: Tue, 29 Aug 2023 09:04:37 -0700 Message-ID: Subject: Re: [PATCH 3/3] mm: memcg: use non-unified stats flushing for userspace reads To: Michal Hocko Cc: Waiman Long , Shakeel Butt , Andrew Morton , Johannes Weiner , Roman Gushchin , Muchun Song , Ivan Babrou , Tejun Heo , linux-mm@kvack.org, cgroups@vger.kernel.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 9D86CC0002 X-Rspam-User: X-Rspamd-Server: rspam11 X-Stat-Signature: 1rzne4f1q3z37sobiehj8rgpef5zy41k X-HE-Tag: 1693325115-685189 X-HE-Meta: U2FsdGVkX1/He2T9tIJP+zmiauKiCbDuulwiUcNZ69LKvzA/NHnDtAJthImu9eRTMTyC6s7+EMLZSdfgJNGj0VMhr/aSr3GT8b0JlVDmmkMc6bs/DNdKbAqLOqmLobQuZbs4JDYUN21kohnEHl6YV+lpj/kZjQ1R3EesJMWd6za6ou/k2MW8WSoVPBNGoM9Op4nouVGSc1HXDpAM05eRd9vo+oTULZRXnmUpC+sPATcpAGvWvybnVhxQgAQzMu3SDG6v3dw2hOfko7eNpLHKZ5+8Eg1JPCkF4gkKm5UaHle419GHDGB3PKWF69dNRzdEFwzAvPS/zN5uc+tRZpr87mecdsXappCbyn4Q0kZICDkM6gvXNxo1uUBYAHHLeXQOKGqRPeQfRUeovFnSHrDHfHYfvZLj61/cw/MFpLR4D8W7pF2Xdsj9ZV3bW1W7kMoSbYBIaCCxjFi4honj4UtFB0fftC1VJmZddZfobrUMW13V6Pw0G7nltwMHYKunHyR2enBZCDd6/UtB4AkGFyKfq35NczRF9J3kjHy++RgymcWLN2GiOxF/AGIHwvzV+ihAyftsh2OnkdxegjnwUvMMZgBD7Eb8bWDEPKuCYLQM+shzAp9xEfpx7L3STFJXKxu+PW7vlNC/Jo3xwNBxPO+jLj67IH7CZCrxxUCaXK4gA97Xb0VfhrmF8PqBkhofjtmhKZSm9q3lM2cowTQc0mX61xBQGG8rwZ5c1xDUs7r4FuRCDp+y9W0AJbpq/HLkhig5uVMlve6qVakKzSOtEx56fA71oS9N9uhH5EziOiiaEQXPjKWIhRI92ydEp34cyk2UereUKY9tv4cX5zjyWFeIUOCq3ZK/vEvZANwZnDBi078nLcstrOkhqmsX72aczJ1gjrKm1bBXttBHjg4kEbl8DD0zMt/8CPQHnhncpaQ3IesuUopcuBjaUqyhppT5Yo49AJYJJYR3swjKkS/hbbp fMjjOfT+ rhvdqhdufsOHQahHVZWx6YU9nWoa5KCEPVv1gMaZQdRR6I9FvSx8fx3pZOdKscOuocn6BFOJayNAPoX7cvbA9i0mRWvfXbplQIcLxAi6VQJMVighvlTKCDjeildhix8lrekzdV0vlDhP4c/BUsyBxvdq+5X5JQrPrAIrJO8rqZL4RHSxFH4Z/RFxH8exUyAZm49LRck3UMYk3772asaz0JnmERfNXwM+XjIY1VGZLt3Vg6FiPDY+G0qorTfsq371ZJF9cNgnvM1NgFhuiVxtVmHRmQKbcPKfe/aZEypORCvc37BFU62fpFJYKA7j8I9YXCUQkPNZV8J8uo0d4W9Knr2d/LG7Eae+9jjNozgo49wmHaZBOCXsPZltklw== 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 Tue, Aug 29, 2023 at 8:17=E2=80=AFAM Michal Hocko wrot= e: > > On Tue 29-08-23 11:05:28, Waiman Long wrote: > > On 8/29/23 03:27, Michal Hocko wrote: > > > On Mon 28-08-23 13:27:23, Waiman Long wrote: > > > > On 8/28/23 13:07, Yosry Ahmed wrote: > > > > > > Here I agree with you. Let's go with the approach which is easy= to > > > > > > undo for now. Though I prefer the new explicit interface for fl= ushing, > > > > > > that step would be very hard to undo. Let's reevaluate if the p= roposed > > > > > > approach shows negative impact on production traffic and I thin= k > > > > > > Cloudflare folks can give us the results soon. > > > > > Do you prefer we also switch to using a mutex (with preemption > > > > > disabled) to avoid the scenario Michal described where flushers g= ive > > > > > up the lock and sleep resulting in an unbounded wait time in the = worst > > > > > case? > > > > Locking with mutex with preemption disabled is an oxymoron. > > > I believe Yosry wanted to disable preemption _after_ the lock is take= n > > > to reduce the time spent while it is held. The idea to use the mutex = is > > > to reduce spinning and more importantly to get rid of lock dropping > > > part. It is not really clear (but unlikely) we can drop it while > > > preserving the spinlock as the thing scales with O(#cgroups x #cpus) > > > in the worst case. > > > > As I have said later in my email, I am not against disabling preemption > > selectively on some parts of the lock critical section where preemption= is > > undesirable. However, I am against disabling preemption for the whole > > duration of the code where the mutex lock is held as it defeats the pur= pose > > of using mutex in the first place. > > I certainly agree this is an antipattern. So I guess the verdict is to avoid using a mutex here for now. I sent a v2 which includes an additional small patch suggested by Michal Koutny and an updated changelog for this patch to document this discussion and possible alternatives we can do if things go wrong with this approach: https://lore.kernel.org/lkml/20230828233319.340712-1-yosryahmed@google.com/