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 55CF6C77B73 for ; Wed, 24 May 2023 12:44:30 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D7F39900003; Wed, 24 May 2023 08:44:29 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id D0667900002; Wed, 24 May 2023 08:44:29 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id BA720900003; Wed, 24 May 2023 08:44:29 -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 A73EE900002 for ; Wed, 24 May 2023 08:44:29 -0400 (EDT) Received: from smtpin27.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 7BD1BAE35B for ; Wed, 24 May 2023 12:44:29 +0000 (UTC) X-FDA: 80825117058.27.EE6F992 Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55]) by imf24.hostedemail.com (Postfix) with ESMTP id BFC9118001D for ; Wed, 24 May 2023 12:44:26 +0000 (UTC) Authentication-Results: imf24.hostedemail.com; dkim=pass header.d=linutronix.de header.s=2020 header.b=d4JVuNbQ; dkim=pass header.d=linutronix.de header.s=2020e header.b=toxb0Wt6; spf=pass (imf24.hostedemail.com: domain of tglx@linutronix.de designates 193.142.43.55 as permitted sender) smtp.mailfrom=tglx@linutronix.de; dmarc=pass (policy=none) header.from=linutronix.de ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1684932267; 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=65LbV4tkiEW8WDUjeddUxxpW/UeOUmpXXnvSzTSel38=; b=gKxahdQqJ/SaNVkXqHqTrRmOxuNAJHG9wuyNfW8bZNFVPbWzgT0nOXFW2nQkwFVYtz2T/d xmD65GmGrBrAp9XHaxJLsorHf67njRveWb6SF47dmncWXu3F+XUDUmFk/jEbA2EQCm3qJP pgmREMPBPQiKXwvvtclbCZuZ4BZxXdU= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1684932267; a=rsa-sha256; cv=none; b=q3tEjWqctF7cPHCCei0MzKqCPsfS+32yYtA/coYy32MKeroFvNcEwbc6f3IOJHvxYVnoUM cka9AwMxcEMWRbSVEYKRl5iEaA2I0UC9GK0ZDtlGKJ2S3MP3JBQD+ZTLYMTcib39TDvIcU Ujy+2goPINjuWpjQDW2nKGqy+xVhT4A= ARC-Authentication-Results: i=1; imf24.hostedemail.com; dkim=pass header.d=linutronix.de header.s=2020 header.b=d4JVuNbQ; dkim=pass header.d=linutronix.de header.s=2020e header.b=toxb0Wt6; spf=pass (imf24.hostedemail.com: domain of tglx@linutronix.de designates 193.142.43.55 as permitted sender) smtp.mailfrom=tglx@linutronix.de; dmarc=pass (policy=none) header.from=linutronix.de From: Thomas Gleixner DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1684932264; 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=65LbV4tkiEW8WDUjeddUxxpW/UeOUmpXXnvSzTSel38=; b=d4JVuNbQ3RTXn5bHhBDgO3BYLf51uCBIaQQXgemIVAGznvf1jWROQ9MCzJ5FhMG7n/SqC1 hmziAmVPDqgyiRNTJTpJLXnE7Q86arevOIYCpxXoBmu/UAaira/ADUWJXkFk3XYMJDb8oS jZQf7HREnDJDb7ztl4h/7u0/+3ZkNuDapKVscs2O4g5f2weg3c9l0GKj+68S+Zyrw8QMlF jLMQNjS+zYcbvOFYBHnGmTwXhFHM5QoJJeyFyCxkAfg1Xsqf8MQaEeeguDX9dj7bnTEIvC otbz5LQmZRMGkgoWC4pLbchPPlwQb+KiiIU90QWdg/B6Q9Wc0s7Wfj8q7/v1Cg== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1684932264; 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=65LbV4tkiEW8WDUjeddUxxpW/UeOUmpXXnvSzTSel38=; b=toxb0Wt6jJvTkj7zC6waBCjFVhEb6A5FAPfCwB38HOJelSSEWzp55/iV+syUlSpCnKFHai cRmlaIo7g+ZVipCQ== To: Baoquan He Cc: linux-mm@kvack.org, Andrew Morton , Christoph Hellwig , Uladzislau Rezki , Lorenzo Stoakes , Peter Zijlstra Subject: Re: [patch 1/6] mm/vmalloc: Prevent stale TLBs in fully utilized blocks In-Reply-To: References: <20230523135902.517032811@linutronix.de> <20230523140002.575854344@linutronix.de> <87mt1um508.ffs@tglx> Date: Wed, 24 May 2023 14:44:23 +0200 Message-ID: <87fs7lnbko.ffs@tglx> MIME-Version: 1.0 Content-Type: text/plain X-Rspamd-Queue-Id: BFC9118001D X-Rspam-User: X-Stat-Signature: 47jzuqhe5scjaiym4puh1itsbin9whee X-Rspamd-Server: rspam03 X-HE-Tag: 1684932266-603715 X-HE-Meta: U2FsdGVkX1/BwleSb1VcKfQE8xNrjQlshy9kH2TBDmKbP7Q1755Ea1VY2sovecQm55WPrJn4n56jbDdTIDMirplEhYBDRmHX3PkzgPJJ4Z1Kiis0qt5tqOv2ogrFxW+fAD4bjvF55DlFMrSGBaUKvGgSNhi8IlwsY67kEQSw9RxDqFGZ8QkdD+eSqqKNZkIVyxS4SQT6TY0n/G18ICYqQ6+J89fodXwBheES3qTkI5NKFOhQt13uZaGLdHrSJxfOGkFIgh6bQBC/i9HGcwFh06fED5Sq/Q8U1fTfWI5j2PYzVhMhLO+GIetQsKUnsORw2F2RJ75KMkU8ToEKMk/9leq38ys/tT89AOfgQizpvi4somMyYPGrFSAxKnp269JZ5IbtHzrxt6wPDPol97ECo4PMob9MT4MAaxvR0vuvIClPifpQGKHxFKK3eFwbEjkjQ3AoIuDun6yQL9voG9141zz7qA3LduT0NFAyp92bqA+Aer0HQeySYt4g+80KPKASfO/QdWPHXugpy7vRds6DnB397MgfgTHLPmvjqJJTYQFb7Xjc9uYetVYXiuHJbOzz2uSx6XrHhCEg8VZWfmzNQbKp4pOfPdPcOW/u8aPl+RZYgSAkHooUlTUIgmVy8hG5NVu1xJd2RYGizf7sXZmtYEup5897s5rLYDjVGexhXFLVOfPItwKAM6Ps9BOqu7MOaVnrzsvzYbhTlHDxZIuAsSmg6Ncslth4dIBS9I8lNJRdK8evId+kQOG3HBPyEgPdkSiq6WcXhnjoyln9k2uiCZz3MX7O8c6oCqAVfDrKMxqzq3ON2Nl2Ezuyga1O3/8kp8E3XvEcxIbYobpvUm6R5JRZCagQe2jQ70ATuXqHp9OQoIpLFCY493kg+/g2sX9gFyh9xEiBumGsutePSfKycA4/O0x5V0xNKjqQFHx9ntzOw4zsNzL3bYt4t2CnHY82iH8N1GJjgnXrhWk6Mtj ljkQmK27 untnML+wGU+r/GWHMzX2c8u1lyrrStxWz4PCVx7PdCn++bX8= 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 Wed, May 24 2023 at 19:24, Baoquan He wrote: > On 05/24/23 at 11:51am, Thomas Gleixner wrote: > vb_free(Y) > vb->dirty += order; > if (vb->dirty == VMAP_BBMAP_BITS) // Condition is _false_ > free_vmap_block(); > -->free_vmap_area_noflush() > -->merge_or_add_vmap_area(va, > &purge_vmap_area_root, &purge_vmap_area_list); This is irrelevant. The path is _NOT_ taken. You even copied the comment: if (vb->dirty == VMAP_BBMAP_BITS) // Condition is _false_ Did you actually read what I wrote? Again: It _CANNOT_ be on the purge list because it has active mappings: 1 X = vb_alloc() ... Y = vb_alloc() vb->free -= order; // Free space goes to 0 if (!vb->vb_free) 2 list_del(vb->free_list); // Block is removed from free list ... vb_free(Y) vb->dirty += order; 3 if (vb->dirty == VMAP_BBMAP_BITS) // Condition is _false_ // because #1 $X is still mapped // so block is _NOT_ freed and // _NOT_ put on the purge list 4 unmap_aliases() walk_free_list() // Does not find it because of #2 walk_purge_list() // Does not find it because of #3 If the resulting flush range is not covering the $Y TLBs then stale TLBs stay around. The xarray walk finds it and guarantees that the TLBs are gone when unmap_aliases() returns, which is the whole purpose of that function. Thanks, tglx