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 83A9AC52D7D for ; Fri, 16 Aug 2024 01:24:51 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 028108D002C; Thu, 15 Aug 2024 21:24:51 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id EF31C8D002B; Thu, 15 Aug 2024 21:24:50 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D6D558D002C; Thu, 15 Aug 2024 21:24:50 -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 B1FC08D002B for ; Thu, 15 Aug 2024 21:24:50 -0400 (EDT) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 33F021418C1 for ; Fri, 16 Aug 2024 01:24:50 +0000 (UTC) X-FDA: 82456364340.08.96CBDE1 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by imf03.hostedemail.com (Postfix) with ESMTP id ED55220005 for ; Fri, 16 Aug 2024 01:24:47 +0000 (UTC) Authentication-Results: imf03.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=Sp7aGIq1; spf=pass (imf03.hostedemail.com: domain of yizhan@redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=yizhan@redhat.com; dmarc=pass (policy=none) header.from=redhat.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1723771451; a=rsa-sha256; cv=none; b=RxikFdbvNO8/gCmfxtRXseNTbLgCylSI1aSGbaPMgL7vivC7CnnaQKqryFn77qlVqrLVVE dZVH6E39bBlKYkpiSY6x68IPj16EWFrY7fxOiaq2uqYAnKEL2PTJvYSbXeqk1hUkFXrO3l /OroYJbPMNI+g/F5g0bF22Wv5Jtj74w= ARC-Authentication-Results: i=1; imf03.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=Sp7aGIq1; spf=pass (imf03.hostedemail.com: domain of yizhan@redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=yizhan@redhat.com; dmarc=pass (policy=none) header.from=redhat.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1723771451; 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=fwaojnf9E3UluBzU+MZkkrEKEZcYZi4FcKEhRi/CrDs=; b=nsL5YOGq5dNIJO5SkGTj2RTH1TZmAD7JbdVpgMu7tHi1Ojx0iqLxB+2tBleDF6D7YDzS6F LgxEWHHUpwg3/OrYyWUhOO/une4MMsG7JJwlaqqCK66+t4VnkKRlU6mDlJEhk/Y7/cZZ0g h0wyjSPHDrbcrWAGLLTthjpcbeRBnE4= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1723771487; 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: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=fwaojnf9E3UluBzU+MZkkrEKEZcYZi4FcKEhRi/CrDs=; b=Sp7aGIq1+SaS/2sUah3DaSR5PTvi5B2LfErOdLK3z8JwPTh9BbSJHE+sf/UMd3zt1BHPWW SIFxjSL3uMSCBxXtPukld+gGXZ+vXjKIoPB1YHP0+KfhSYW+n1jB8sAuP6k3FEek7k1v7H /3BnFP0b+q8IJBgCMDglZsuGQg1kLWs= Received: from mail-pf1-f200.google.com (mail-pf1-f200.google.com [209.85.210.200]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-594-ZttF4KaSNwSkJWGiDwnyIw-1; Thu, 15 Aug 2024 21:24:43 -0400 X-MC-Unique: ZttF4KaSNwSkJWGiDwnyIw-1 Received: by mail-pf1-f200.google.com with SMTP id d2e1a72fcca58-7126ca1ece1so1537659b3a.1 for ; Thu, 15 Aug 2024 18:24:43 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1723771483; x=1724376283; 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=fwaojnf9E3UluBzU+MZkkrEKEZcYZi4FcKEhRi/CrDs=; b=qe40FUXx9AhkydfLs3cPeQ4C1luFDaztz6FSkBkjOJCKsewLr2YFRjcNNJ8Y5pQQAb qMrnp51GNso8uvUPlSuaHtZnsLYcrXHeJDJXW36Lu5waZyVNlvXcWngbbuQnDTbh+jg5 sds0IwMQwEVhRuEU3wtnnzOmxLCeC/4U0rbuoGa2IyogbzK2NFVuVS37MxW/dwjDF8VG f7MdPxzrPH4TQdJbfeyynv+YHCV2czDGsuWlRSEZFr1Qh+WIC7CdYAbqWktm+zICM9Yb qRkKiA7faqz9r8Xg4fEWIT2KQYYGyuUECJymusutYESSk7/A7Oc7a03C8pxqITc4IiWR U0jw== X-Forwarded-Encrypted: i=1; AJvYcCXwKiyCbO5TcqSjZ/Qkr3kh9WIO2fwRMsnBUO/SenqtvYx7/iFxeoUDunEIfcQfNv+ufzoGcQ2YVwv0qswpRK+phTI= X-Gm-Message-State: AOJu0YyuEspRFTaGpZKzSw1wk787T9aWSq/keojdjNjriVAcjaBAHvuQ dkxKooLwwEhdWwsv/2MGkZemJQ3mtsFIQi4grjugLFtlouZgWImAf5VR93Jue3JygQEpErlX+ON Xxd2rVdrEKa5G0kiENpNqYw1CD7Bws8PBeSsP4leAu3Q85AqAheFC9rig2vzbhYka6VXdtp6csw xLFPSfBGciCmgvJkpS+TcnZ/s= X-Received: by 2002:a05:6a20:6d07:b0:1ca:991:5ab0 with SMTP id adf61e73a8af0-1ca09915bf6mr907581637.1.1723771482689; Thu, 15 Aug 2024 18:24:42 -0700 (PDT) X-Google-Smtp-Source: AGHT+IE2W7if9lwjRG2kNQheYzxy8p06RPF3Sab4WD0l36KTQ1ZsM5FA1pamFcIyhy7TLUbIgdVTJyTESC9lRMpJDaQ= X-Received: by 2002:a05:6a20:6d07:b0:1ca:991:5ab0 with SMTP id adf61e73a8af0-1ca09915bf6mr907554637.1.1723771482281; Thu, 15 Aug 2024 18:24:42 -0700 (PDT) MIME-Version: 1.0 References: <20240809191020.1142142-1-pasha.tatashin@soleen.com> <20240809191020.1142142-4-pasha.tatashin@soleen.com> In-Reply-To: From: Yi Zhang Date: Fri, 16 Aug 2024 09:24:30 +0800 Message-ID: Subject: Re: [PATCH v5 3/3] mm: don't account memmap per-node To: David Rientjes Cc: Pasha Tatashin , akpm@linux-foundation.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, linux-cxl@vger.kernel.org, cerasuolodomenico@gmail.com, hannes@cmpxchg.org, j.granados@samsung.com, lizhijian@fujitsu.com, muchun.song@linux.dev, nphamcs@gmail.com, rppt@kernel.org, souravpanda@google.com, vbabka@suse.cz, willy@infradead.org, dan.j.williams@intel.com, alison.schofield@intel.com, david@redhat.com, yosryahmed@google.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Stat-Signature: zwi6o5yutq5c4isyayqs54barqr87is8 X-Rspamd-Queue-Id: ED55220005 X-Rspam-User: X-Rspamd-Server: rspam10 X-HE-Tag: 1723771487-696507 X-HE-Meta: U2FsdGVkX1/rxpAMVBY0zW9t5MbuImfD2IlQQHKe0DTRuR0u2+e8isjWMZeH5DP33DdorIUP3KtKFPmwtLNE7fdZXcv4F1J/UpVqjYrqdlZK9O8TYdtV1Q9OBbNUEgITyPhiaLtb/Gyvti5xc1QgukaDdaMGyrlFakFj7DXQ+56VYvHFg8yb577+dNlqQBn1k/+xKbpVa9xV+vuYFnDXBScTEb6Z+jPPo+NM+PJ4OVgfYP1IWYDX8jmDFcCK6MEoqX1wwIFnXWaMg6gC+1T3W+jx426AYFy54OBzfaGXWkWa7n2OJJ7CSFvQ5MLPiJfaW8iT6Cpa6Byrenqa2VZWKKs4SxIo74VNAYKmoikKK2PZJnObOfkRvGIjdyaN4gVdTD2Ro+NT9z3Ajx6AZbJybWrzK3LGfgFAnzRfeU3KKYSubAE6Re+cDJumPMP9iOQAYClyLE2ivNfWqg9n8Jt2X812dgC8P+Gv3JlsUyN60bE4A5eTk9bocXyXm63B35Z6xPitBn9v/ySGzzSlP5KTq+zq6lpGkJXbo41+zZwjfZuSCTz0IL/nBn+fxPg5Xvoyek4sfiabuTWyQ1Wq+YLr9Uy6ZwRyhYVvx5UgraPxy97t0nZGonTIlX7ymLjzEsOk5VGUHzfV8m/hGpMrHyFnX/l8CxfBdZuSqv2kA4DAYMnFoQ+SebbqyGNL7HhiP0M04l6KcEzqhIIadrpgF8w4lAqsBtGRCHlSun9MObUrvPQLxg1KS8vegRFtABKwECJI/nrwSGGiRqxmPp5XvuL8tH0FReyDhGBJ354vY3mEdDR2w5+3iVw6pklnUd+fe9t9vGYNd6bO/XszfXwCYNvlc5yCiy0Ey+bMO16ysxzVdx3Bj62XZRRbi1GZLY7x0S+MY9b2xvAg3Z6QBaNZTKEhd7S2jj+DyuAVgvxHf0OCUR0ESaucC/N0c4xj8Hb3Kk1lhrZ/A1DBj6P3AdvW1hM dANqgUqk ZNnIFdmg55KQrFlNiTm8MfujnucRil/9oDFtCxjoUGWzvX4IRzIvsOkHvn43Dte6+QIrtyOuQgHrQaBFE2Km86ZXyKUikRyG3AeLCPtvBcXBrm8NUvRvK+pRh1c5/vA8PdQlxPVU5U1nt+k1UYH2sCeW3HoBvk3/NyFZ0qy1Hh9D48JJKOHaOyrPyh/0xGi6BhubFCEv0RG/sUSCcby7ft8+yyGc2ZcRe9OBIb//Y1vGcgLU6F9ExUVmilb4ebMGc/qmrNOReMfKHkqoN7QzgFG6DpDxngWupDzdQ6U36mph67ezKTEF4SjNhrJVcmg0qxGhyBo07w4KKy2HwyENMbuVaibjk3Dk458EwnT1jAQpKv0W1ATuDt0FIvtkGCR0lQrNKQPcpA36BjWRk+FF5NaTJlFt4+BG5nlqyH629FZZdKN/mIh/Rcdg5Ez52Sv2D66fhg++GSsVyocyNOV2tsn2klDiJzDIwURnwMOAtM3wNo9C/N1pfuREulUF7kV6c9+3Mlt2BQBpi9NgKhH8WO4XOM+YtsBhSSKnGptYR9YQeQeUUTiWNi18JqsWqesaEszEeNgMB/HL7F3PcCJv8iDi01TAqxsOPHPcX/RKCARzaopk= 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: Thanks for the fix. Tested-by: Yi Zhang On Mon, Aug 12, 2024 at 4:26=E2=80=AFAM David Rientjes wrote: > > On Fri, 9 Aug 2024, Pasha Tatashin wrote: > > > Fix invalid access to pgdat during hot-remove operation: > > ndctl users reported a GPF when trying to destroy a namespace: > > $ ndctl destroy-namespace all -r all -f > > Segmentation fault > > dmesg: > > Oops: general protection fault, probably for > > non-canonical address 0xdffffc0000005650: 0000 [#1] PREEMPT SMP KASAN > > PTI > > KASAN: probably user-memory-access in range > > [0x000000000002b280-0x000000000002b287] > > CPU: 26 UID: 0 PID: 1868 Comm: ndctl Not tainted 6.11.0-rc1 #1 > > Hardware name: Dell Inc. PowerEdge R640/08HT8T, BIOS > > 2.20.1 09/13/2023 > > RIP: 0010:mod_node_page_state+0x2a/0x110 > > > > cxl-test users report a GPF when trying to unload the test module: > > $ modrpobe -r cxl-test > > dmesg > > BUG: unable to handle page fault for address: 0000000000004200 > > #PF: supervisor read access in kernel mode > > #PF: error_code(0x0000) - not-present page > > PGD 0 P4D 0 > > Oops: Oops: 0000 [#1] PREEMPT SMP PTI > > CPU: 0 UID: 0 PID: 1076 Comm: modprobe Tainted: G O N 6.11.0-rc1 #197 > > Tainted: [O]=3DOOT_MODULE, [N]=3DTEST > > Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 0.0.0 02/06/1= 5 > > RIP: 0010:mod_node_page_state+0x6/0x90 > > > > Currently, when memory is hot-plugged or hot-removed the accounting is > > done based on the assumption that memmap is allocated from the same nod= e > > as the hot-plugged/hot-removed memory, which is not always the case. > > > > In addition, there are challenges with keeping the node id of the memor= y > > that is being remove to the time when memmap accounting is actually > > performed: since this is done after remove_pfn_range_from_zone(), and > > also after remove_memory_block_devices(). Meaning that we cannot use > > pgdat nor walking though memblocks to get the nid. > > > > Given all of that, account the memmap overhead system wide instead. > > > > For this we are going to be using global atomic counters, but given tha= t > > memmap size is rarely modified, and normally is only modified either > > during early boot when there is only one CPU, or under a hotplug global > > mutex lock, therefore there is no need for per-cpu optimizations. > > > > Also, while we are here rename nr_memmap to nr_memmap_pages, and > > nr_memmap_boot to nr_memmap_boot_pages to be self explanatory that the > > units are in page count. > > > > Reported-by: Yi Zhang > > Closes: https://lore.kernel.org/linux-cxl/CAHj4cs9Ax1=3DCoJkgBGP_+sNu6-= 6=3D6v=3D_L-ZBZY0bVLD3wUWZQg@mail.gmail.com > > Reported-by: Alison Schofield > > Closes: https://lore.kernel.org/linux-mm/Zq0tPd2h6alFz8XF@aschofie-mobl= 2/#t > > > > Fixes: 15995a352474 ("mm: report per-page metadata information") > > Signed-off-by: Pasha Tatashin > > Tested-by: Dan Williams > > Tested-by: Alison Schofield > > Acked-by: David Hildenbrand > > Acked-by: David Rientjes > --=20 Best Regards, Yi Zhang