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 2A1F7C6FA8E for ; Thu, 2 Mar 2023 21:19:59 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C05DC6B0074; Thu, 2 Mar 2023 16:19:58 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id BB8236B0075; Thu, 2 Mar 2023 16:19:58 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A7E806B0078; Thu, 2 Mar 2023 16:19:58 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 9754F6B0074 for ; Thu, 2 Mar 2023 16:19:58 -0500 (EST) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 744EA140927 for ; Thu, 2 Mar 2023 21:19:58 +0000 (UTC) X-FDA: 80525225676.08.1010C73 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by imf21.hostedemail.com (Postfix) with ESMTP id 660C21C0005 for ; Thu, 2 Mar 2023 21:19:56 +0000 (UTC) Authentication-Results: imf21.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=YxT5oD0x; spf=pass (imf21.hostedemail.com: domain of peterx@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=peterx@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=1677791996; 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=an9MmHgGy0qzFZ8UIQUjGddxHR1f8bNnqbnky4ov8DU=; b=j0ViIRsfP1Z5LW4bTLNswbzWVSovWmoLxw+byfQ9UrlsDo1rvytmmcahLpeDBgBnwB6Wtb CZUfFcif4x17km2sDaJg1KzjsYcUYQm2/KMzrqfqT8eecFHvy9vLhOhl1rgqVcDX5m3ILN 9IwlJ0ZeB+91tO5UbsOyW6yObiyQs6U= ARC-Authentication-Results: i=1; imf21.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=YxT5oD0x; spf=pass (imf21.hostedemail.com: domain of peterx@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=peterx@redhat.com; dmarc=pass (policy=none) header.from=redhat.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1677791996; a=rsa-sha256; cv=none; b=CKEmd71q8zf4m91z4aF6XzEYAov6cu6d1wDjis83el0AuT/wxjb0nMqrqLq1OB/I3pgnqd 5EzIWPw9OVpTYSovQuV8uuljWyiajLRwj30GKHdmdgmeATsl8sDzvJEUeY1lM52h8WyIew zeySsDf/g6kkMSWmIYQiwMVTCUVeZdc= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1677791995; 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=an9MmHgGy0qzFZ8UIQUjGddxHR1f8bNnqbnky4ov8DU=; b=YxT5oD0xJzJh6/6Tu/VeF1SR1nQFzTzrmw+HuYt/gUFikuDcI+/eyWxelbDjBnKwqfZKjJ Sx/rbxvoOo1okX0xoVifd/3tcV2immiaxP+Yr30t8F5mBjki4/vETTtN+uCq1v6ZT1iE8q s/PeMbL8gZyMdY8CM5ZRVwfQaThfzJc= Received: from mail-qt1-f198.google.com (mail-qt1-f198.google.com [209.85.160.198]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_128_GCM_SHA256) id us-mta-617-pLs3d956OA6750v2_l5SQw-1; Thu, 02 Mar 2023 16:19:53 -0500 X-MC-Unique: pLs3d956OA6750v2_l5SQw-1 Received: by mail-qt1-f198.google.com with SMTP id k17-20020ac84751000000b003b9b4ec27c4so335682qtp.19 for ; Thu, 02 Mar 2023 13:19:53 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1677791993; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=an9MmHgGy0qzFZ8UIQUjGddxHR1f8bNnqbnky4ov8DU=; b=FGP4vhLH81MMjWea2cOB+rACqN8zIlFiwfSm9c8KM+SD3A+ANUGulcY6zwA4JxfgmI GvATSgYSg+AVTg3U26xGhuUjmZ5tYfQG/Kq2NAwbxKmNTDUneU4umWamEMEF340bSFn5 UYi+T26GRcRtss5zjbwFfqjoD/ZSiCX/Jnsj/iWjkmsMNl+jQqGowOYUz2na2kSoRg/e xitb43g0oD1RRNJSgcd08h40iJu0NE1o9jHg0rjZqHWcP7f9/fleSUzC1SI09FrnU7wF 8pdzuv1Oc63ZUJEF60FlhAyWtypyJkW1nvSSZlxTZ0fLcjwcxCgpbeWg4lOcwv2u63h4 cwgA== X-Gm-Message-State: AO0yUKXdE+EhW8CvgaLenbZbzS4kPTD1sFR7v16zxJKxusND9loM8gNc cs6DTq17xqlUQvMp5FCgTZRML90OpyXi9ZM6usxe6RpbWXN8xKP91Wg2eYntSAffyw8wR0q3xy2 rXjdVXqExZok= X-Received: by 2002:ac8:5c86:0:b0:3bf:b0c6:497b with SMTP id r6-20020ac85c86000000b003bfb0c6497bmr22379666qta.2.1677791992765; Thu, 02 Mar 2023 13:19:52 -0800 (PST) X-Google-Smtp-Source: AK7set8PF1hTlK8HTUITRVjlZRoMsJOKOmpk5rrOgeWX2x/xJfHaMGJ53hSke3jtLb29a+dxdnmWrw== X-Received: by 2002:ac8:5c86:0:b0:3bf:b0c6:497b with SMTP id r6-20020ac85c86000000b003bfb0c6497bmr22379633qta.2.1677791992505; Thu, 02 Mar 2023 13:19:52 -0800 (PST) Received: from x1n (bras-base-aurron9127w-grc-56-70-30-145-63.dsl.bell.ca. [70.30.145.63]) by smtp.gmail.com with ESMTPSA id bl14-20020a05620a1a8e00b00706bc44fda8sm398391qkb.79.2023.03.02.13.19.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 02 Mar 2023 13:19:51 -0800 (PST) Date: Thu, 2 Mar 2023 16:19:50 -0500 From: Peter Xu To: Marcelo Tosatti Cc: Christoph Lameter , Aaron Tomlin , Frederic Weisbecker , Andrew Morton , linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: Re: [PATCH v2 09/11] mm/vmstat: use cmpxchg loop in cpu_vm_stats_fold Message-ID: References: <20230209150150.380060673@redhat.com> <20230209153204.873999366@redhat.com> MIME-Version: 1.0 In-Reply-To: X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=utf-8 Content-Disposition: inline X-Rspam-User: X-Rspamd-Server: rspam03 X-Stat-Signature: pcfdrg7td9rpra5rsmdibjauuuiubrn3 X-Rspamd-Queue-Id: 660C21C0005 X-HE-Tag: 1677791996-508115 X-HE-Meta: U2FsdGVkX18QUY/1OuqLW3nPnPcxX8JjCTZ2j3S5nXdXl4qIUYqAwp5CPsksqoHX5NtfL90jHOVH1GXERmtUgxkfhAwWzFhcgv+yBzeFIKrrrBR/yw/SN/t3MLy0kmwtbW9kfVxxdhr1FDpl5JJklXCRfY73NvRlnFiHk9UQVyDSyL0nF2SJb4iheZazWVek/Ql9UrXhjkTfdj2YYZ0R1UbXbFuEp5x/I1QwVxTgUHNWt1eUk3Jot19zD3KCBFY0s8BKqvqkkGdhY4ZchbHnR6pKY6Xm30xBH3g6R3Ri8Bz6N0+Nec0w17Aip6bxGM9IuPZ50ebwu1/pA4qPbWxTQzpwQFgY3/Ac2m6rNmUd+tjuwazWPo2n5VAq8u9Y6NZS+ddoIFofs8uHGNVR7FVlh66kg1Vin3sODyEAArs7QTmnbzymUKZDf2ouVPGjN5ndhsVcrXhNeYFdheYCJn4QnYMqdtVejB8gfEhGSijVrKIoQ7EIYCN2YbTPbiMDX4tzqu/w6i9Z9F0PT9xuHYfTDmK8HMS0Oy5DMHecXiE6ptLnM2zHJFJbFu8JoH61nNdl7B29hNWbuqjrqgciX3/sLlUUOURYbc8DAj0i7BXj7ZJ6svaRNr6xuKxZHFwtGXgb6hrx88jJMhZYzZjCJqTcLgERV1Zpcy7zcyRmwtwgUTQNi2cUMJfUJStZ+UH3448u/L310+2L2N421WwQAOX2XezRH4HaC172WbyVBPZEuPEd9OPTSmXno39gqka/HKLzhcZ/lY+cM2EAHckxFgfJtsJPlGkeWwNTEr/oyCJoh+svsoHzxgYBDUoZXKckzHdv2UjuF83gWOrzypquXf50Nw0oW0G4NsyNPTQukOUvUj5cDIC7miGKjut72GdEKg4M+IdnaIhU6vFshht5jdtqT0cev+UJUcMfW7JLJ6k8+jQSqWvVvLPwgNVcDA57Va1rnqYmibilCxJ75tvvj66 fCNpekqC eO6BRdBtUsEVLZq3qyHozIeg5RexDU29MOAlNDTDEyKsrSWH2Tb2iTldOc6zCQM8tIgJay0RY+TDO2YiIw55ruIKFGsChKhZaiE5gSsroAAgBf9+kQh3S5dxrVJaK8kqS3y1YmCzCVkQFK0AAHievWH1p0JBo9HMXVjoxThYH901D1/0d1TfB6ho3j8j51hW1PliE3nPL6+hd8zl2vZJ2SkXRsI6Am1bRRaXLhmlDsgnvIy6euOY2Gfv/eRyMImddk7xRQN5AzUkisuwEmgqYpy7LUZvPh8Mb3JsAWr0+RFpk/GmE2/jcowpoAoLxVPEK5bpDgJ2rLYyzvUup+iKwmQJZN75IxhM8NIdAqRgdOVbGE1jkTkmKEOFiJzbsA9sDHNl8MAAteMvZoiLO2OZisN/eZPM0Eggwc0XmGSRMmRzoKtI= 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 Thu, Mar 02, 2023 at 10:55:09AM -0300, Marcelo Tosatti wrote: > > (2) If someone can modify the dead cpu's vm_stat_diff, > > The only context that can modify the cpu's vm_stat_diff are: > > 1) The CPU itself (increases the counter). > 2) cpu_vm_stats_fold (from vmstat_shepherd kernel thread), from > x -> 0 only. I think I didn't continue reading so I didn't see cpu_vm_stats_fold() will be reused when commenting, sorry. Now with a reworked (and SMP-safe) cpu_vm_stats_fold() and vmstats, I'm wondering the possibility of merging it with refresh_cpu_vm_stats() since they really look similar. IIUC the new refresh_cpu_vm_stats() logically doesn't need the small preempt disabled sections, not anymore, if with a cpu_id passed over to cpu_vm_stats_fold(), which seems to be even a good side effect. But not sure I missed something. -- Peter Xu