Received: by 2002:a05:7412:6592:b0:d7:7d3a:4fe2 with SMTP id m18csp1359776rdg; Fri, 11 Aug 2023 20:43:59 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHUe5OaKsV+AyXZ4udApyRgHVNaZmXQfQ6oGEuQWCoeB8mLta8FSijvcfkdI86uP3h4eNp7 X-Received: by 2002:aa7:d6c8:0:b0:522:7ab4:31fe with SMTP id x8-20020aa7d6c8000000b005227ab431femr3301546edr.23.1691811839101; Fri, 11 Aug 2023 20:43:59 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1691811839; cv=none; d=google.com; s=arc-20160816; b=MR7FUwH1/CwILD/k35w6pAyZCOIXr+CbGxrVA/eYNyftWLqk5SmAr46/llvr52K05h UMHOGDFr9EOilJTCapAdUOxLJSwK+dAevlddewZqoT0Kq/FVmbCBX9e43RjFLj8RiU9i oUlRMuiDXwmGfaJJZYht2SrzOYOwxOHHjI2fmEVki6VmQLgc1khfhuGyLJLH/SgNbpBw X/TCJ/Q/ZOm9cpuaAgNznVcjGPd/7NUGT5ib3K+cI0sxidR8wFx8Wij1VWSyiODNQEWJ P6/EnmVHpVFa9xurScOMzlkrEKqEpB2jTd3zRj+28pxa95oPc+RlepTiUswpuLFeSjZh o5FQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:cc:to:subject :message-id:date:from:in-reply-to:references:mime-version :dkim-signature; bh=Xtg+keftJRj1GAGPnWqMjYAi2LDgfBuNTq5Si7vTecY=; fh=G7ZlAr70Yaaswd0lSBdeWTut9nH9lGr4t2urRXsbfDI=; b=F+31xYB2XA8QeWKNBlcVNJYZRTpbK2MSO+5m4XvcnTxsvgz1GbsEBwIzgDjBMZ3e2W gs/FdcxCiBQWjZAE8qDWGjNFOL+xpzMXe57Tej1i9mUfJSBPUiBURrnrkupH1WOeQJ6R 7HT0qo2bLw9UzcXpmj+D2MkE777Zde+JikKROZkGPbxxOg/Ku+gt51aNyROwkI7Hy4Ly 4uGJegp+jozkk7ylKuRw8FWDgWlttVAIQS3b+ZOGzFbMu/5yNpTqf1gdobdLEwsRnpXv gH5YyVtjZRRrYiSbHIUNG1QCDhqTMXgcz7Bh5JYNLzDvpvkLvwWh5wVFV12edsEl6xBa suWw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20221208 header.b=EFOEq2BK; 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=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id s19-20020aa7c553000000b005233e4533bcsi4701788edr.405.2023.08.11.20.43.34; Fri, 11 Aug 2023 20:43:59 -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=@google.com header.s=20221208 header.b=EFOEq2BK; 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=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236378AbjHLCgb (ORCPT + 99 others); Fri, 11 Aug 2023 22:36:31 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33966 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234787AbjHLCg1 (ORCPT ); Fri, 11 Aug 2023 22:36:27 -0400 Received: from mail-ej1-x630.google.com (mail-ej1-x630.google.com [IPv6:2a00:1450:4864:20::630]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 590F72683 for ; Fri, 11 Aug 2023 19:36:27 -0700 (PDT) Received: by mail-ej1-x630.google.com with SMTP id a640c23a62f3a-99c3c8adb27so350511166b.1 for ; Fri, 11 Aug 2023 19:36:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20221208; t=1691807786; x=1692412586; 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=Xtg+keftJRj1GAGPnWqMjYAi2LDgfBuNTq5Si7vTecY=; b=EFOEq2BK/3AphDg71atGtLZ3JNf6pD/7iQNGpkLyIQvAGsS+4+4SDj5EXwfcZuKpN9 A+kszuv1uvx3C1buqXecddsH+TNzr3nNv+/ciToEnvZYJMhXRN7Ig7OTiyTdiGQKjsz+ PxH7SdFaIg8DGqgE0GVTY+L2ezzu7vbB4GCjgFqW5+jEJwgkGezz9nifLOg7fBEhg1tQ JVzQodQQ4p5Dk3pR5ARWlMWQ3Vp9/ZAJduQ+pZ++7N8u9oacbRZGmvI13+4QrcmPS3qk iEFNSRzrzGb3SDnZ6+WSWTeMLfKh8Nb4YBVqq28kkXxyqT1XDUOrMQd2rGJFcvD29Q1R yXIQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1691807786; x=1692412586; 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=Xtg+keftJRj1GAGPnWqMjYAi2LDgfBuNTq5Si7vTecY=; b=a3Ch0xTUIBh8rQXUtd/dlYgiueKOcSkQ1VncO39Ze3LK9hDogVxm0FWs3xfWGzYTV3 /USerXOXrmECGRUExTkE+drkNSFv8y3i1HiFn3kt28s+AdDTFtuyXa3qWO5473QKkSPU jYYx/C7M/DJa3Seu3I47kyKT32tDc59W0Te3O7ymWslUZUmghpIJArd205cg9kxoPF84 AG12V8Pc8DyqubrsENQXK71IpUNM4b/lBy6/VKFytHVpMRsC9FGh1BR1jE1Rx9mhGxrJ 8dLRgRpGP6PqczZV/U4Zaqi+/1dw2xmUHnUuc2NDLEfJiZVz/umhV8R9iuoXeNwt6ZqF eLMA== X-Gm-Message-State: AOJu0YwLgQieF9AN/eAqd4T6/yGSPCqSp2hHsSsWLoQyWhlNDacCZsYo voMwTtQvmEEDU4npuKNxVItMwupKa0h/fvNGdG+zw18lnon4du1RroHDyA== X-Received: by 2002:a17:906:13:b0:993:e9b8:90ec with SMTP id 19-20020a170906001300b00993e9b890ecmr3343614eja.22.1691807785763; Fri, 11 Aug 2023 19:36:25 -0700 (PDT) MIME-Version: 1.0 References: <20230809045810.1659356-1-yosryahmed@google.com> In-Reply-To: From: Yosry Ahmed Date: Fri, 11 Aug 2023 19:35:49 -0700 Message-ID: Subject: Re: [PATCH] mm: memcg: provide accurate stats for userspace reads To: Shakeel Butt Cc: Michal Hocko , Johannes Weiner , Roman Gushchin , Andrew Morton , Muchun Song , cgroups@vger.kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-17.6 required=5.0 tests=BAYES_00,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF, ENV_AND_HDR_SPF_MATCH,RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_PASS, USER_IN_DEF_DKIM_WL,USER_IN_DEF_SPF_WL autolearn=unavailable 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, Aug 11, 2023 at 7:29=E2=80=AFPM Shakeel Butt = wrote: > > On Fri, Aug 11, 2023 at 7:12=E2=80=AFPM Yosry Ahmed wrote: > > > [...] > > > > I am worried that writing to a stat for flushing then reading will > > increase the staleness window which we are trying to reduce here. > > Would it be acceptable to add a separate interface to explicitly read > > flushed stats without having to write first? If the distinction > > disappears in the future we can just short-circuit both interfaces. > > What is the acceptable staleness time window for your case? It is hard > to imagine that a write+read will always be worse than just a read. > Even the proposed patch can have an unintended and larger than > expected staleness window due to some processing on > return-to-userspace or some scheduling delay. Maybe I am worrying too much, we can just go for writing to memory.stat for explicit stats refresh. Do we still want to go with the mutex approach Michal suggested for do_flush_stats() to support either waiting for ongoing flushes (mutex_lock) or skipping (mutex_trylock)?