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 844ADC3ABDA for ; Thu, 15 May 2025 01:49:58 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2B3F76B0083; Wed, 14 May 2025 21:49:56 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 23A806B00F5; Wed, 14 May 2025 21:49:56 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0DDFB6B00F6; Wed, 14 May 2025 21:49:56 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id E1A7D6B0083 for ; Wed, 14 May 2025 21:49:55 -0400 (EDT) Received: from smtpin23.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 0A1845BB2D for ; Thu, 15 May 2025 01:49:57 +0000 (UTC) X-FDA: 83443461234.23.9AF0F4F Received: from out-180.mta0.migadu.com (out-180.mta0.migadu.com [91.218.175.180]) by imf04.hostedemail.com (Postfix) with ESMTP id 27CD240005 for ; Thu, 15 May 2025 01:49:54 +0000 (UTC) Authentication-Results: imf04.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=ZY2twBwc; spf=pass (imf04.hostedemail.com: domain of shakeel.butt@linux.dev designates 91.218.175.180 as permitted sender) smtp.mailfrom=shakeel.butt@linux.dev; dmarc=pass (policy=none) header.from=linux.dev ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1747273795; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=FS/yE07A4Cv6zJAjjeYcVdij2I9QfJ/UEHQCtSmp7sw=; b=upCMnbOIpnukZcoY2xMJDB8OnD0ZxKroMwuo3ghmwsbc/vU5fkaaXfmjZVD+V4USyrmW3M 59mHha7LYB8n+Q2A2jgi52E6PtcKt2G25a0r8PJta0VQeXYXgSfyHXa4AW6QSdcq3Vg35B CcKx6R5bvUpuMOH9qMEJKf17iCmdxFA= ARC-Authentication-Results: i=1; imf04.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=ZY2twBwc; spf=pass (imf04.hostedemail.com: domain of shakeel.butt@linux.dev designates 91.218.175.180 as permitted sender) smtp.mailfrom=shakeel.butt@linux.dev; dmarc=pass (policy=none) header.from=linux.dev ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1747273795; a=rsa-sha256; cv=none; b=A8T7rs1+AF3evtorxgTz/j5pJgC4tW+Bm9EFJ5Yb9bmLTaX/0Wv2cYiNJfWLBsBZLT9F7m Zop96D1cbA40Cnxh6nvJr1e1GIudS4c7TUwscZU7UGwLDIt/oMYpjpQr6VPw0C5L0Mb0DC /CpXqOLaM7CTOO7PSPP9yj1zbd7IyO0= Date: Wed, 14 May 2025 18:49:47 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1747273792; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=FS/yE07A4Cv6zJAjjeYcVdij2I9QfJ/UEHQCtSmp7sw=; b=ZY2twBwc4USR7Gw2dEDffmf4FeaE58904GvYVMl8BBdMJ5qN/u0DfcmyYma+K6jrE7PiC0 oPgNdcW/JD4cXwgyOTJdig85MQLmkbDAzNvKm2gopHzIhI34ha3xipM565sjzzo1GG1FCa SBsKU99aiO6NoMDwptx09g8x6aZMbig= X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: Shakeel Butt To: Vlastimil Babka Cc: Peter Zijlstra , Andrew Morton , Tejun Heo , Johannes Weiner , Michal Hocko , Roman Gushchin , Muchun Song , Alexei Starovoitov , Sebastian Andrzej Siewior , bpf@vger.kernel.org, linux-mm@kvack.org, cgroups@vger.kernel.org, linux-kernel@vger.kernel.org, Meta kernel team , Mathieu Desnoyers Subject: Re: [PATCH 0/4] memcg: nmi-safe kmem charging Message-ID: References: <20250509232859.657525-1-shakeel.butt@linux.dev> <2e2f0568-3687-4574-836d-c23d09614bce@suse.cz> <07e4e8d9-2588-41bf-89d4-328ca6afd263@suse.cz> <20250513114125.GE25763@noisy.programming.kicks-ass.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Migadu-Flow: FLOW_OUT X-Rspamd-Queue-Id: 27CD240005 X-Rspam-User: X-Rspamd-Server: rspam11 X-Stat-Signature: 1ropkr79eawt761tf7o1g3qf8dme4ps4 X-HE-Tag: 1747273794-381555 X-HE-Meta: U2FsdGVkX19M/c6wPGZwz0qzRyOD4Pnp3frFpI8HD4VBSlC5EP9hbIYCnNO/u7OEUrdwee7GnqOd78dfR+Jwupym/BacEjlxxB5kmsw+q/zHlKuCkVJ4pWkLKTBsv1tyk1zY6ntXLfjRmd0yYeTDKpIsT2E3B6ksA/JXlIK4zeHZ8M4WpLl6/IhcVoqCY6TjXImq+Y85h8R4XmzGluSMYxr4JvNobbwbSBk566K5BFMQ/jvE0+DF9gsiv811dR5I7KAAB7sDOaVWvG3tVFSz04Z2QSSDJNm6lPk9WImd2gLONBsI4HkuQpA0hCNoTRCKyr6UtG9ia7x2AJUZrNeVNZH32+jJHg4Ohy+yuQiEOCjw9s9NpHvBPMEHw9rZelF8OVoPNvB+5CligqTiSnPDR6XdEMtY/MBkAvGj1JGKtPJWmROphP1f1s7qvBP84QMzKJNA0fcclTeUz4RFLdopSXanFOWnzLSSxqtQppDXNcX/idB8BTk5FbNvonvvqBv7PkoBh06c2BJBLxpgnk0AqM8hq2gtPNUxkmYZdvo1tDXqSwu9uDQzrQs9WsxMFBnipUUDw71LPCN2ywkqTXV4igMAlGlBZlifkF/0n+iIzlbPFqpWS2GXRW05TlIzAqLiEYID+Xxce7VuuLBglEPN1DF1NEL1vYfPxyoktNBoTFxEy9fZLgqPFXYWrqljR5vOoNx013Ge2R9/CNNcChnKAcItabrYV8aA6bQElDMwjFb4UP9S1UwZtRyIsUQMrU0xLm425hd7Z6BbPSBb0bJJEEq4cboFl7nB+aQ4qrQGkv8gF6eomuoFoArLX6sFrJzFsl5F7uV1N1trK1KHl1rueTP1eO9qoHnMw5qToDxewvVq8FYGKnQukf9A0/4Ux1cxRj6+urbqGelmjUyYvIyqz4nT4PCnQsltNvz7nHHSci1/gMLFoQBGTYQpoHt6RGer3QDjgSp4ncLvDbeqYwI jSXn0O/f k3eVzJdtUwuvdjIIKJ9glrnp5hz2XepHkJSlMBFhRBlPvuUawO4Ltz4K1zvZTkfdV54DlfMrNLVrwFeLY6GBdEz/2xXoD8E/QxYpW9sM+yJh+/OncGVFfUFWytdzuvidV8rpZ9aN8hhdYVPMx95B5+XmbxqM7AoRC5+9mbK2vWNvGtbHgscKDuK+1oA== 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 Tue, May 13, 2025 at 03:17:00PM -0700, Shakeel Butt wrote: [...] > > Thanks a lot Vlastimil & Peter for the suggestions. Let me summarize > what I plan to do and please point out if I am doing something wrong: > > > #if defined(CONFIG_ARCH_HAS_NMI_SAFE_THIS_CPU_OPS) || !defined(CONFIG_HAVE_NMI) > > // Do normal this_cpu* ops > > #elif defined(ARCH_HAVE_NMI_SAFE_CMPXCHG) > > // Do 32 bit atomic ops with in_nmi() checks > > #else > > // Build error or ignore nmi stats?? > > #endif > > Just wanted to circle back on the updated plan: #if defined(CONFIG_ARCH_HAS_NMI_SAFE_THIS_CPU_OPS) || !defined(CONFIG_HAVE_NMI) - Allow memcg charging in nmi context - Use this_cpu_ops for memcg stats even in nmi context #elif defined(ARCH_HAVE_NMI_SAFE_CMPXCHG) - Allow memcg charging in nmi context - Use atomic* ops for selected memcg stats in nmi context #else - Do not allow memcg charging in nmi context #endif