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 5B98CC83F34 for ; Thu, 17 Jul 2025 19:37:16 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E6D658D000D; Thu, 17 Jul 2025 15:37:15 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id E1E228D0002; Thu, 17 Jul 2025 15:37:15 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D0C488D000D; Thu, 17 Jul 2025 15:37:15 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id C0D748D0002 for ; Thu, 17 Jul 2025 15:37:15 -0400 (EDT) Received: from smtpin07.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 951D31A01FC for ; Thu, 17 Jul 2025 19:37:15 +0000 (UTC) X-FDA: 83674765230.07.E0C4F5B Received: from mail-pg1-f171.google.com (mail-pg1-f171.google.com [209.85.215.171]) by imf19.hostedemail.com (Postfix) with ESMTP id B71081A0007 for ; Thu, 17 Jul 2025 19:37:13 +0000 (UTC) Authentication-Results: imf19.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=npAozhXn; spf=pass (imf19.hostedemail.com: domain of kuniyu@google.com designates 209.85.215.171 as permitted sender) smtp.mailfrom=kuniyu@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=1752781033; 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=4nMyu+7H6qh6RBQ6ywaGRyMlndiQONyrV9nNhzFLueo=; b=FirhUlLlMBscfVTehz1Cm7yvRhM6e0Id0PGQekXoYej3orGS76XOPFMGyHC9D8JfYx3gft co1voxUQOTjyGG7g78zytDpgZzkyDGBGhUSI0l4q2RBZqOnsvTJYWDayBKRl4wHD4tltem W25QN+MOBYDV0JXiT17NFLsG5ztvgWk= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1752781033; a=rsa-sha256; cv=none; b=IrBJBkMF6vCnm2F9t/bDGwWKUx1ZI5ZB5FY5w9GBIyDcxb0IOOs4MzyP8+N9u2/uew4zhC DYWS5+fmJwMkA7XJR/Vwei5OgcuuQHvHNmlPLsIysOkk80voqj74h3GhjA+g3HSfIFPWDy zd2e6qckOWhjyZGPXPt7erV3XXnT2KU= ARC-Authentication-Results: i=1; imf19.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=npAozhXn; spf=pass (imf19.hostedemail.com: domain of kuniyu@google.com designates 209.85.215.171 as permitted sender) smtp.mailfrom=kuniyu@google.com; dmarc=pass (policy=reject) header.from=google.com Received: by mail-pg1-f171.google.com with SMTP id 41be03b00d2f7-b31d578e774so1773372a12.1 for ; Thu, 17 Jul 2025 12:37:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1752781032; x=1753385832; darn=kvack.org; 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=4nMyu+7H6qh6RBQ6ywaGRyMlndiQONyrV9nNhzFLueo=; b=npAozhXnV5EWM54ZtMizy+Atst8zgIV97shUmAKtTQ3XnOc8qz8+BAw5diupHHjBuk TuPJuqevQIxPDwW9zMKDzH848cNPlnLmFCkyYGO59lw8w6BJNh7tPnl5nc9GLPapiAkS b98JGl3j56JgU/82p5+HSz9hitx/lB9wIvD1249rX1rLXah79B2cQLcg4fSQzj9MZ19G H3ufVcQf+fxYTzlx11VOsvg7ACIK54sA9FrTmYbXV9YxVM1em/NwuDZKkRsRcZb1lxW/ d1S171O/8/P7HjiW0glc658wOHGtTfCMsbnSCv20Ue1UU+PpjSydh3gP8c/sG7JfgzQI 32tA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752781032; x=1753385832; 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=4nMyu+7H6qh6RBQ6ywaGRyMlndiQONyrV9nNhzFLueo=; b=RsJgK2jpqFeiUSZq107QnDF5XKEuHF+H/Nmsmj+5nfL8388FtppRr1+e/Q/QHYxOeQ 06GeA5kQK3GnWGuZFBPYIG3poPwEtRsVimdZ1NFOg0jlwTXsSZMsWD58FhxXD6n1vCQy t4Npii6o7pEhITaMlkD4Zkm5msAHODnl2lpbL+9yHv/tN6+egMYnwLTZR2e89IaqW7MM qRWIZY22QUhRFSHji7OhfeI8tEXaEAC2Cie2n7Afh/gfIGRScjOUz20l8LNaGk137O0Y Jg33wmNRRN1ZzR+8nh13RV0Tmlo2QFhy3HTy1jPa2qpFHXpBtW3WI+2HEDiLua0ET2RU KAiQ== X-Forwarded-Encrypted: i=1; AJvYcCULB6hTJjVj1y7ITnXbiFnp9wX5WmGXrQU2m9pjdlhgt7O0NgntY+3JVS/Z7nxoreGErKPG/36bWQ==@kvack.org X-Gm-Message-State: AOJu0Yw21J92p6tKyx4l9NPsVayHMNeAkIU7SrJDP+BK8eHrb9U51U7v hw3UDR+o6s4Pki0ZOD6eB95BDx5ymzNNfFlv9NHQj08YVgSn9yluauR0yPbfemDVg+FOBxgtpxM KPufWl/aVkN34tW5qMEtsjgRBJ7bDIBsa4khYDyrt X-Gm-Gg: ASbGncuS08E4pI07tsm+Y1cp4/m/07yv0VxvcwXXxQKqfNEJkjNaekJb3hETfnjQqVT f7F5AC9NVuo8KOsqaRuilE9cpCF657MH+GHEnis2bY56hUyxS2V8NM38jpcBNBFnf7mFw9sIhiW 9E02cyHphBzyRyMR3B9gQT0bNgw5cCIcMXSXFFkRGy16dgPAVgmwZVG7WjJJpYIkAaDpbthR/3J uyEXkoei242DnnMP/uiMfJO8bnHSJu609kOPClQ X-Google-Smtp-Source: AGHT+IGVqUbeJBXPkokfvOezx6aw6Gi4quuG9Qi6uEZ2oHdBUCTZZbQo1iZ5Ip+wc8vDo72+c+uyqGVZ3tJPJIxrZeA= X-Received: by 2002:a17:90b:4d8d:b0:30e:6a9d:d78b with SMTP id 98e67ed59e1d1-31caeb969efmr5601126a91.12.1752781032267; Thu, 17 Jul 2025 12:37:12 -0700 (PDT) MIME-Version: 1.0 References: <20250716042925.106239-1-kuniyu@google.com> <20250716154315.b49d3af2cd9294faea24d6c2@linux-foundation.org> <20250716165220.4fe0019e7ecfcf73db13b334@linux-foundation.org> <20250716180232.6bcebe13e9a0d86019e1eaa0@linux-foundation.org> In-Reply-To: <20250716180232.6bcebe13e9a0d86019e1eaa0@linux-foundation.org> From: Kuniyuki Iwashima Date: Thu, 17 Jul 2025 12:37:00 -0700 X-Gm-Features: Ac12FXxnT01P0Kw3Jd2-V8e-zyKgUSTavM0kDzr9G7d6qqNrCsia9UYx_7EDPxY Message-ID: Subject: Re: [PATCH] memcg: Keep socket_pressure fresh on 32-bit kernel. To: Andrew Morton Cc: Johannes Weiner , "David S. Miller" , Vladimir Davydov , Kuniyuki Iwashima , linux-mm@kvack.org, Neal Cardwell Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: B71081A0007 X-Rspam-User: X-Rspamd-Server: rspam09 X-Stat-Signature: 1hia3te94cudd4n5xidh8n4ioioagbr3 X-HE-Tag: 1752781033-53263 X-HE-Meta: U2FsdGVkX18Z+sPnNls5NIv6D4foB0zNZztZT+4nKOQ3SYK5URqxe/Mfc2Qgav849Lv34Z7XspysapGXC4QLayWIaJnhy7o7guDqs3/4JEP3VLqYC9rt0YJEBQ4ueBoNqbjy1vRUaah7+I1RNMOMT9/15nuUzmBFBLjyqbRbXoB0jWRiGcxrxq+FnHZkTKy8+OLMEjKWx+q1HEuYM0kjIT2Ph4vR9p5LxiyR54z0grZDCg3bEujQLtaRvzbktqD3rm/RjzJus4HNGF/PYtNRLA7E74ZkHwX+yL0SXIglggaNwDn0/tQq7Cl+gOCv8K/DJnMPo3dAuMy+CUMU2cMfz1O9HZ0Pq481HdpI374nmTytTq4VBOg1BpOKYTtkbhio1GlFdo2iNY5pl6UXzIic415xA9sAObBvPU+PD3F/d9QH6qyAr3k0qGYgUgSdb05E1OPK+K6DznR5GvaiQ7unY4fgSExaznvi4IYNwS1J76DBRF03q6UNK9m0TVv/MhTrEcPHc0zIjoCQ/9aRcGcDyCwKJDjNrMZmG3Sy0pGY70uqjEMLh+1hT/hUrhuuqZ1tu5mkFWJNFy8Hsg1OI6q1Jejef4WYKlhpiUyAsi1thCF2WXV/41LGcctaz2VL1QWO1g3D8pJ8XFiDqJSCbNA7TGpJ7Skeh9KCRXWVZYm9wcdHKnXMtLd+dP3whaqVT78THFl+I3X3vpRjJ9um3I+9UGS/nds/BGte1RYXTU8eSdO+5L4a0Ugs2UU2KqkZ8bosxdsHssP0ZCjA8M14xpT8WF3Bo/ojEEr0sjGiVDuQtQgE2aL1PVM7I9HBQpFymFkap5vhNYeBCjaTRT6H/JZpwUqyAP7yQbdLqJgq/QxTHzWPc8R/yzuS1VGLk7eSmBstK9l+39r+9esy6IWzOvSiNngBtkKmm9WrMFVXI1rWZAvdy1Wewb1+frKFuL5itiZuHMa+nlENFubbs7F0yq5 TVY6nehM mimoRFf51a/oDMs6uVzCPZuHDuCm4EQGyZQhC0CyQtTiEN/G0sxjN9KL20weThY3hoG9uCNwpB4KgnqJLeK195pTLqqkBec7U2fqMJTJ5vySwLpqPMXZTmC1RZIs+ZwITD2QCz0M1CUU6h+c4WYZQOREdWlsLsE2ptp84sLmNorsMcDFv7mQCi/MfakcAW4YWLkq6ZUTi5HTR/TY+wuMfto04k5oScHLzeYvSZMGZ5F2nh7CRLot2QW6xHebJtV8LHGuOmgsqjAL5jI0lH8kVW5MNzJ10F2QiIUBTbzQE2s/RkLP1Uwq41CJ+x9XkiNDAFDcg4aBIjwLZeMWX7h94XqYhu/bSs4lLmQDufchEunhtATiqec2vE7VN3M/1SQSYj1+tZvOeKcdcYbQ= 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: List-Subscribe: List-Unsubscribe: On Wed, Jul 16, 2025 at 6:02=E2=80=AFPM Andrew Morton wrote: > > On Wed, 16 Jul 2025 16:58:29 -0700 Kuniyuki Iwashima = wrote: > > > On Wed, Jul 16, 2025 at 4:52=E2=80=AFPM Andrew Morton wrote: > > > > > > On Wed, 16 Jul 2025 16:13:54 -0700 Kuniyuki Iwashima wrote: > > > > > > > > > Thus, we need to update socket_pressure to a recent timestamp > > > > > > periodically on 32-bit kernel. > > > > > > > > > > > > Let's do that every 24 hours, with a variation of about 0 to 4 = hours. > > > > > > > > > > Can't we simply convert ->socket_preesure to a 64-bit type? > > > > > timespec64/time64_t/etc? > > > > > > > > I think it's doable with get_jiffies_64() & time_before64(). > > > > > > > > My thought was a delayed work would be better than adding > > > > two seqlock in the networking fast path. > > > > > > Is it on a very fast path? mem_cgroup_under_socket_pressure() itself > > > doesn't look very fastpath-friendly and seqcounts are fast. Bearing = in > > > mind that this affects 32-bit machines only. > > > > > > If a get_jiffies_64() call is demonstrated to be a performance issue > > > then perhaps there's something sneaky we can do along the lines of > > > reading jiffies_64 directly then falling back to get_jiffies_64() in > > > the rare something-went-wrong path. Haven't thought about it :) > > > > > > Dunno, the proposed patch just feels like overkill for a silly > > > 32/66-bit issue? > > > > Fair enough, I'll make it u64 in v2. > > > > Well, please do pay attention to any performance impact. Measurements > with some simple microbenchmark if possible? I don't have a real 32-bit machine so this is a result on QEMU, but with/without the u64 jiffie patch, the time spent in mem_cgroup_under_socket_pressure() was 1~5us and I didn't see any measurable delta. no patch applied: iperf3 273 [000] 137.296248: probe:mem_cgroup_under_socket_pressure: (c13660d0) c13660d1 mem_cgroup_under_socket_pressure+0x1 ([kernel.kallsyms]) iperf3 273 [000] 137.296249: probe:mem_cgroup_under_socket_pressure__return: (c13660d0 <- c1d8fd7f) iperf3 273 [000] 137.296251: probe:mem_cgroup_under_socket_pressure: (c13660d0) c13660d1 mem_cgroup_under_socket_pressure+0x1 ([kernel.kallsyms]) iperf3 273 [000] 137.296253: probe:mem_cgroup_under_socket_pressure__return: (c13660d0 <- c1d8fd7f) u64 jiffies patch applied: iperf3 308 [001] 330.669370: probe:mem_cgroup_under_socket_pressure: (c12ddba0) c12ddba1 mem_cgroup_under_socket_pressure+0x1 ([kernel.kallsyms]) iperf3 308 [001] 330.669371: probe:mem_cgroup_under_socket_pressure__return: (c12ddba0 <- c1ce98bf) iperf3 308 [001] 330.669382: probe:mem_cgroup_under_socket_pressure: (c12ddba0) c12ddba1 mem_cgroup_under_socket_pressure+0x1 ([kernel.kallsyms]) iperf3 308 [001] 330.669384: probe:mem_cgroup_under_socket_pressure__return: (c12ddba0 <- c1ce98bf) So, the u64 approach is good enough :) Thanks!