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 A7990C6FA8E for ; Thu, 2 Mar 2023 16:20:59 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2DC0B6B0071; Thu, 2 Mar 2023 11:20:59 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 28C1B6B0075; Thu, 2 Mar 2023 11:20:59 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 154D26B0078; Thu, 2 Mar 2023 11:20:59 -0500 (EST) 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 01CAD6B0071 for ; Thu, 2 Mar 2023 11:20:58 -0500 (EST) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id C6AEA1A0DFE for ; Thu, 2 Mar 2023 16:20:58 +0000 (UTC) X-FDA: 80524472196.16.03B0657 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by imf19.hostedemail.com (Postfix) with ESMTP id 801D81A000B for ; Thu, 2 Mar 2023 16:20:55 +0000 (UTC) Authentication-Results: imf19.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=e2W80ARG; dmarc=pass (policy=none) header.from=redhat.com; spf=pass (imf19.hostedemail.com: domain of peterx@redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=peterx@redhat.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1677774055; 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=9xOfU4PlP9FaVWqoxDuTqEGSCMk6PXW1QbyGJ2/dDF0=; b=6Mg5q2Q0e8W26EUow3M+Cy1UxsB8UQeXCL4WOqNY+HlRJTQGMvbqLwgaNl8mF9U+fAMjuD h9L1BmXLzuUdGM0uAmbcDx/N/Gnjon2nCJvmzjy5WLhlIbb9gaoMqqNqfKPJBf54548fEY w0eJu5AoauhFh/J5k8G+MxOQPTvX57Q= ARC-Authentication-Results: i=1; imf19.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=e2W80ARG; dmarc=pass (policy=none) header.from=redhat.com; spf=pass (imf19.hostedemail.com: domain of peterx@redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=peterx@redhat.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1677774055; a=rsa-sha256; cv=none; b=6XsTt/7xBYdu7sYkVpQUUDCsKMN8qca14eC/iMNTQQqh7kPKlc3xqMwUQfO9T7bVNjE9i4 gwj8VT1QiZbz38l/oR0IN3x5mpo/T3kgcAT8Ckflc9v9ajVV/NEyCUhMj8wpkKFSyi0Hnd fOknRZYGDZqCz8ChEkbOnpcGqXbNQuM= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1677774054; 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=9xOfU4PlP9FaVWqoxDuTqEGSCMk6PXW1QbyGJ2/dDF0=; b=e2W80ARGZ9uVHXsMgQ4pR/k6/7KQr1DBFVjkceclo8Z/8kRnEcqtWLRBM8wfODQFRoRBkW LZWOznEgOacIezuDQnxz5WJMHUMQIEtFgHj0qxJ8IswWjPPeG6sc95qLkrkKpzU+etA7Uk oGCRtphT65N3PNRzpazORl4M1SkqLv0= Received: from mail-qt1-f197.google.com (mail-qt1-f197.google.com [209.85.160.197]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_128_GCM_SHA256) id us-mta-608-gCF-yBM2NoSjnCHa9s5dqw-1; Thu, 02 Mar 2023 11:20:53 -0500 X-MC-Unique: gCF-yBM2NoSjnCHa9s5dqw-1 Received: by mail-qt1-f197.google.com with SMTP id g11-20020ac8774b000000b003bfa92f56cbso8629330qtu.3 for ; Thu, 02 Mar 2023 08:20:51 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1677774051; 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=9xOfU4PlP9FaVWqoxDuTqEGSCMk6PXW1QbyGJ2/dDF0=; b=7oelu5a70j4qby2krsdLOLen3BMgbrrdN5p1vQoPFP+bQHxRDTYdZv3KnaswGwgQOs 66tcEEhlp/P1OhXhX8HwHbFqyo31nvpWrvS3/cIucYDrg2PAyqHa47RWBON8kq/QCiiz 3GV9vMJ7IUV6GhlguFmoSCmwHwMgJsSD8/lg/0KXSH35gihA92kFsG1nDZiUvNnmmY90 4ZWo4F7DYaoaJs2i84CxeykslloIWc+KgkUMTST04auYDrPPtDKNcV7Vt+4nclgW0Kkd 56RdysS/Z4Tgr0flI0cqVjNkZV1MgF8c6aPqnJ64OyUBnMnb0kL1sdUOhXyLkA9UK8Mi +yww== X-Gm-Message-State: AO0yUKWKXZ+0bTa2sSZ7/+dPWNSJ4w66wkBAU8y9s2AfIlDvTNJ2r0vI Wx9broUZ5Xc1q6k7YA/4IOaFnMiBdJf8zI/Nbhtjo2MEvvSX+PlPY6iNgjlLhgvTtQNTQy/LxnI MH3xjLt7oM6g= X-Received: by 2002:a05:622a:34d:b0:3bf:d71e:5b08 with SMTP id r13-20020a05622a034d00b003bfd71e5b08mr20514558qtw.3.1677774051272; Thu, 02 Mar 2023 08:20:51 -0800 (PST) X-Google-Smtp-Source: AK7set9qq3ZPjFIsnOOEXZugxAvUqaHVsX6sqUyPztiC+UlkHco3HAQ8ZWbJPfUT6dNx7Q2La1DP9w== X-Received: by 2002:a05:622a:34d:b0:3bf:d71e:5b08 with SMTP id r13-20020a05622a034d00b003bfd71e5b08mr20514481qtw.3.1677774050715; Thu, 02 Mar 2023 08:20:50 -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 s184-20020a372cc1000000b0073bb00eb0besm11147177qkh.22.2023.03.02.08.20.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 02 Mar 2023 08:20:50 -0800 (PST) Date: Thu, 2 Mar 2023 11:20:49 -0500 From: Peter Xu To: Marcelo Tosatti Cc: David Hildenbrand , Christoph Lameter , Aaron Tomlin , Frederic Weisbecker , Andrew Morton , linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: Re: [PATCH v2 08/11] mm/vmstat: switch counter modification to cmpxchg Message-ID: References: <20230209150150.380060673@redhat.com> <20230209153204.846239718@redhat.com> <3331790c-95a1-6ab9-2667-86aae3d28d7d@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-Rspamd-Queue-Id: 801D81A000B X-Rspamd-Server: rspam09 X-Rspam-User: X-Stat-Signature: 4amjt4yi4335k4brt858fdz3bu7z59ui X-HE-Tag: 1677774055-142526 X-HE-Meta: U2FsdGVkX18NQS6Vmb/QLTFvdqRCiHyHtlytM2G359rMyaYnQHDVS9zeWOVoLa4+zrBi9pRRBce6DpDj+ACbwazdrFAgXzC7JF3F/isboboK5UFUerhdBRoZcx5+exKNFkWPcr0sNOQ/E5ddsHlhRssyrEY3XQ/cnOMf4EJnImYYWHqkKYiI2Qe8qLRlLZxRUf7wBHos1d03XJ8Wp26Mc0NihWLsw2RmZFyznDBl6FZ7LC1Ur0Ky5NhejZchUqAFY5leQjI8gpbj6MQFk0c9P7iPRK7l7rhe/YKF/9nU3OgioThwVJA1mvhsmh4fcYidlWHQ/1H/gFc84YQKDtT4ogoZjsaFTZz//YWed4VJcWAog+BUy0GSwiLf/SoZ5MZlP4PjwNwD+fgak2mJ+rN9RfjX0vv8Eke8TZvSDF8B2LbvdvtIB60FIVdtNRxJv15vkedRjUjWnXce5aCxhKnYL+eMw3DbNtXm6NHQI6biHD12quCl8MrqhKyrZK9RxbC/hwHLPh2PDRgc5/qY1RxShtBIzAOSLtWjt+WbyhO9wlj+MwjrWZFnJ0j9qpAI8Z3vDCY7MwRxpG6FxEbjxK8tZd2UzD6nZFppJRspD3KiwsRItYwWiZ17CS8krb5TBA/Drv9N/dZHc57lmBDY2jF6Tf9JuxbodQKQc29WoYrzTpOLQbfcliOS0uo+Aq9teTMu4eWv8Vlriz16MFzugJat7n9/U3s8oKQyHxvs6brdvItHg0Rz3N/kRbi3V7D7PFPLMn0uX46FEj9IS9E6OeUj9eqUkaCqzUQCON2Q1eji0W5Bw7Rla2vzooRHKNhtJJXVpvw8p+WyHPhzjs/ltWXLA7kwP4D4aEVq3SJuAu9AB+JYuE1G0KeeHC4jnFrB7DbzMkyipKMyINfLC9b21oqiiXbgsPRwom/uutkw/KdtKUu0SIzhACM4Yr2Kmf2duQZy0//51JuiVBSM3JKj/S7 qz8IDY2g oUx5L3RQh6LCw+9EcjOXGZ5+tEp5uUVLAryDny4FaS7suneXKjbRLYzsAIZqt67kNMvb7PWqScZbSQlH0bQOeRwCOAC8LIRITHpoYdrYVAPQSePyfYn9LKEJkCycDUYPFSTfKI3Xp+2kxGEXEt2aXj21GvKOrlNsaXKg1VIrVrGqJR1nTimEG7myi3veEeR7JtuHLmEXfVNg30NM2UuNn66tEAVftqEAY7FfEAhCQZUs7G+zNg/zAlmN37rbYA3gXb//RNflDqhKL/X+jhD7vMRmcKjZhAqdEr5/6M0txLkmA63p05p0N8Mca1GUFWYPjpsIwvqxCeUGswwFcmNScPljZ8DtdXB8OCB07QuE/grW+IjTYPQerukTiE13MMKSFe+qJ 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 11:47:35AM -0300, Marcelo Tosatti wrote: > So it will be: > > #ifdef CONFIG_HAVE_CMPXCHG_LOCAL > mod_zone_page_state > inc_zone_page_state > dec_zone_page_state > mod_node_page_state > inc_node_page_state > dec_node_page_state > __mod_zone_page_state (new function, calls mod_zone_page_state). > __mod_node_page_state (new function, calls mod_node_page_state). > __inc_zone_page_state > __inc_node_page_state > __dec_zone_page_state > __dec_node_page_state > #else > __mod_zone_page_state (old, shared function for both CONFIG_HAVE_CMPXCHG_LOCAL and not) > __mod_node_page_state > __inc_zone_page_state > __inc_node_page_state > __dec_zone_page_state > __dec_node_page_state > mod_zone_page_state > inc_zone_page_state > dec_zone_page_state > mod_node_page_state > inc_node_page_state > dec_node_page_state > #endif > > Any suggestion on how to split this into multiple patchsets for easier > reviewing? (can't think of anything obvious). I figured this out before saw this, but it did take me some time to read carefully into the code base.. maybe it'll be a good idea to mention something like above in the commit message to ease future reviewers (and more likelyhood to attract the experts to start chim in)? One fundamental (but maybe another naive.. :) question on this code piece (so not directly related to the changeset but maybe it is still..): AFAICT CONFIG_HAVE_CMPXCHG_LOCAL only means we can do cmpxchg() without locking memory bus, however when !CONFIG_HAVE_CMPXCHG_LOCAL here we're not using non-local version but using preempt_disable_nested() to make sure the read is atomic. Does it really worth it? What happens if we use cmpxchg() unconditionally, but just use local (e.g. no "LOCK" prefix) version when CONFIG_HAVE_CMPXCHG_LOCAL? -- Peter Xu