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 3E43BC54EBC for ; Tue, 10 Jan 2023 13:39:13 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id BDB068E0002; Tue, 10 Jan 2023 08:39:12 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id B89A08E0001; Tue, 10 Jan 2023 08:39:12 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A79458E0002; Tue, 10 Jan 2023 08:39:12 -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 9893D8E0001 for ; Tue, 10 Jan 2023 08:39:12 -0500 (EST) Received: from smtpin15.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 70937C058A for ; Tue, 10 Jan 2023 13:39:12 +0000 (UTC) X-FDA: 80338995744.15.92F2039 Received: from gentwo.de (gentwo.de [161.97.139.209]) by imf25.hostedemail.com (Postfix) with ESMTP id A63CDA000C for ; Tue, 10 Jan 2023 13:39:10 +0000 (UTC) Authentication-Results: imf25.hostedemail.com; dkim=pass header.d=gentwo.de header.s=default header.b=DkxZm0T7; spf=pass (imf25.hostedemail.com: domain of cl@gentwo.de designates 161.97.139.209 as permitted sender) smtp.mailfrom=cl@gentwo.de; dmarc=pass (policy=none) header.from=gentwo.de ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1673357951; 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=L4qIdJbYJKoefbpXhBC5veXffxUBsFeEM6MqrlX+i48=; b=J+jRYJoIPPwGSL2vUVXgPe5RUIBdtDLIw98fhPB30y44qCXM+F2EKgvJqwyIuoOrgIPqzf TjMEQmPpog24eitVOC9X1e31bfV5X6C3mLK8QrVayUMm6CvEeFembdu9XXg5Wwr+G8QaoE 9P20Me4PsV3iqfxcY+vcWjYe7emk5IY= ARC-Authentication-Results: i=1; imf25.hostedemail.com; dkim=pass header.d=gentwo.de header.s=default header.b=DkxZm0T7; spf=pass (imf25.hostedemail.com: domain of cl@gentwo.de designates 161.97.139.209 as permitted sender) smtp.mailfrom=cl@gentwo.de; dmarc=pass (policy=none) header.from=gentwo.de ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1673357951; a=rsa-sha256; cv=none; b=jr1STcooBVVtyLnG0mjPt8tont4fUc5OZNiPRb4vE8R/fOJg+DTMUB9AErsiCsXaAfnWTx 6BsYqYxftCzM+xUD29lKXRmPdzQqyt3b113icdCxlOspkWsf+oFKbuTOyn8hB1CmJJNNAi 6jVtMofL99iCHLPTTpg0n0WuWCGFgk8= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gentwo.de; s=default; t=1673357948; bh=v5N8p01gdRXd9HDoez1M3dRvvrduawOYO6ixbE1M6R8=; h=Date:From:To:cc:Subject:In-Reply-To:References:From; b=DkxZm0T763oFY9qq45rG5QwyK3tN+7FmSsKQ5zw4f9nFmD+CqLjds31MCpG707Y+Z KuOIP/7a7vki9E5B76CFl2yHKj9gRHwCIqxpv7ws5FX4jdapX9UTOmW1LrFZ+VcL7i 7mztigY8lC23ZkQoRMYAz17cEInna4r7lVOazJOlFxApdnY7qTuqnb1MEMGe2QIpxL sGCHWbwtweUc0JWx42us41cgQn1L79grbd5aM8QUWa6tbBZEys3+yqTvM71rAXIiRU CxVxq4eJuNwT5lXTA0fuFYXFZ51rXOv3sU9RDMnNEVmwiXULMdl6vCYkGSS+i3hld4 I/snm5pBud8+g== Received: by gentwo.de (Postfix, from userid 1001) id 9E14DB0017C; Tue, 10 Jan 2023 14:39:08 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by gentwo.de (Postfix) with ESMTP id 95146B00169; Tue, 10 Jan 2023 14:39:08 +0100 (CET) Date: Tue, 10 Jan 2023 14:39:08 +0100 (CET) From: Christoph Lameter To: Frederic Weisbecker cc: Marcelo Tosatti , atomlin@atomlin.com, tglx@linutronix.de, mingo@kernel.org, peterz@infradead.org, pauld@redhat.com, neelx@redhat.com, oleksandr@natalenko.name, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: Re: [PATCH v13 2/6] mm/vmstat: Use vmstat_dirty to track CPU-specific vmstat discrepancies In-Reply-To: Message-ID: <7c2af941-42a9-a59b-6a20-b331a4934a3@gentwo.de> References: <20230105125218.031928326@redhat.com> <20230105125248.813825852@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII X-Rspamd-Queue-Id: A63CDA000C X-Stat-Signature: nec7rzwiqc67xs6tkr76mpb6hp8xi6si X-Rspam-User: X-Rspamd-Server: rspam08 X-HE-Tag: 1673357950-627273 X-HE-Meta: U2FsdGVkX18tgXu3ejgebrHYdbpQK0djemMXOzkqKQYU8/c+P1TbeP0eRKN6seOWR54M1QmEDnxzcbnRaE6PZYoT2wqhU0k33oUzYAKY71ebBne0VIfy1iT40cg0U7mT8HfC1yYMqORs5Q3VDZYpxJlxXRYosQWUaPKeDhuhuDJsmI82J+Ar8botmsELTyesZsUKk8Phwqlw67LRGi2res+/WuM8nJF9qGRxZ08kIKZ2KxBW7y/BeLyl0IClIqdWbVhKBITHHRunfWA+PgC4yuR2N7h9CB1zeWAnmzDyD3x+8lSGuOPNc0TOMPzbZrAdeD4aMKZlWmUEsFjCQaElEkMJvFkdDbk4NUz9IzmCqPYliLw8K1MBQvsA5pZHGKHVnwr+0xCgmTRckosjWSyonGqphDG6jQ8VEeaS4cSfxPfgpnRVaX3VjYBJy+Et2dEW/OXZZo/6bWOMsIVqRbwzFeiyiRq/5fe5henp+ZhvyC6CdTOVITquYmhoKlekwj7Qx4lxCgOofdqacg7/vWNncLpAr0ke8EUO/OLYhuKVgwefM4WItMjeCp13pwrOxfBU9eYt5qdjE9r2KPsbNdYW4f8+yreBlNdj58j9r7wA8UVGNYIyBvG7VrbwJ8S7T54M2kVNN5b+KA3NESz4xkp+M1ZOJ0oUio+4iBDhrOCwxq8+XXMrlxPjNjdL2viCmg58YxWH7ldhDFnn/1YQRzKk+qwycVXJbjwzlpCCpTGwZhpOUxo//XxzX3qnCratflLjm3lb4Oq6AFc26uWPqaxB31bTbmrI519lHViZVMpyEw9xQNPmkWEK4ahJpeO9JWe26YPDq2QaGAB1YPdpbWVsRYhNrWF4GvuA41zgAYR5+6LFa1S2ESuaSZR1WcZwnBMmCoRnVXAI7M363DLvlSljdg== 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 Tue, 10 Jan 2023, Frederic Weisbecker wrote: > Note I'm absolutely clueless with vmstat. But I was wondering about it as well > while reviewing Marcelo's series, so git blame pointed me to: > > 7c83912062c801738d7d19acaf8f7fec25ea663c ("vmstat: User per cpu atomics to avoid > interrupt disable / enable") > > And this seem to mention that this can race with IRQs as well, hence the local > cmpxchg operation. The race with irq could be an issue but I thought we avoided that and were content with disabling preemption. But this issue illustrates the central problem of the patchset: It makes the lightweight counters not so lightweight anymore. The basic primitives add a lot of weight. And the pre cpu atomic updates operations require the modification of multiple values. The operation cannot be "atomic" in that sense anymore and we need some other form of synchronization that can span multiple instructions.