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 B8ECCC02181 for ; Mon, 20 Jan 2025 17:09:14 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 19B3B6B007B; Mon, 20 Jan 2025 12:09:14 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 14C9D6B0082; Mon, 20 Jan 2025 12:09:14 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id F06A86B0083; Mon, 20 Jan 2025 12:09:13 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id CCB7F6B007B for ; Mon, 20 Jan 2025 12:09:13 -0500 (EST) Received: from smtpin17.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 7A1611A033B for ; Mon, 20 Jan 2025 17:09:13 +0000 (UTC) X-FDA: 83028465786.17.6714AB7 Received: from mail-ej1-f52.google.com (mail-ej1-f52.google.com [209.85.218.52]) by imf27.hostedemail.com (Postfix) with ESMTP id 5E0C740006 for ; Mon, 20 Jan 2025 17:09:11 +0000 (UTC) Authentication-Results: imf27.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=WtvRIjcB; spf=pass (imf27.hostedemail.com: domain of nadav.amit@gmail.com designates 209.85.218.52 as permitted sender) smtp.mailfrom=nadav.amit@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1737392951; 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=VTXrMPkz/viv10lA+MYrF5hM/FFmL7acbS2+Ve/WCnE=; b=qnTX3Y5v9+6WWyTWjMp8jW/rVlPoCS6fFNOvehzrs/+HYCQulEWtrCl7xfJNZ27Q/CbLdH 7m7EFzogvDuCIl8SlD2eJg7ysQVlKrL7kKl1f+AV7CSootyIFHVS3fYRbsJRM27r47vVZI 1sNvoLr7feoEM9ux9fvaiK4qFvBYPzI= ARC-Authentication-Results: i=1; imf27.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=WtvRIjcB; spf=pass (imf27.hostedemail.com: domain of nadav.amit@gmail.com designates 209.85.218.52 as permitted sender) smtp.mailfrom=nadav.amit@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1737392951; a=rsa-sha256; cv=none; b=oT3ym4UIKWkSytxpb5rApMVmpnS8vGfiTAghCL92x1HCVBPUG+UO1XpPu+nmWmxqxWzai0 5S+YvOvszYLhMTj+p2uTf+wrn7ZYeBzX3mgT71TUbL5/NMRVhGzwzQdE7nRlZUDdNKfbfB lzJpyTILrmzcGzYGST1kDJAcvC7ZVgM= Received: by mail-ej1-f52.google.com with SMTP id a640c23a62f3a-aa67ac42819so663242566b.0 for ; Mon, 20 Jan 2025 09:09:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1737392950; x=1737997750; darn=kvack.org; h=content-transfer-encoding:in-reply-to:autocrypt:from :content-language:references:cc:to:subject:user-agent:mime-version :date:message-id:from:to:cc:subject:date:message-id:reply-to; bh=VTXrMPkz/viv10lA+MYrF5hM/FFmL7acbS2+Ve/WCnE=; b=WtvRIjcBvXpeqrPVEEF4WOgDlZKvfVMiHPpzCN7wJlG7KS09fvXg1we9Epv1jrPaYW 5vFS5zXEv73UABaHaB1vU6H7l5NQyVXqouDh9nQ/wbT9Kq/+9gN5ltGw8og5KIX0RyBY OruF4kNpp+bLsqWrISAklqFArfxKcQRKC9pfkHNx7RheVrad9qgErx99Hp2AQfLRnER3 XUyjCNRlTiUwLBhl3pWwf0DEJbRcs0f6Rzp+aNfAWoighER/gt+Ki8Iz8QFmGVdHPyrQ d6sqpPTPxISGeNnepi6D854J2FMwVFKOw+wJu6TWdzpKq4c9Ex2HDhDdewhu4pFbdAcu 1uCQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1737392950; x=1737997750; h=content-transfer-encoding:in-reply-to:autocrypt:from :content-language:references:cc:to:subject:user-agent:mime-version :date:message-id:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=VTXrMPkz/viv10lA+MYrF5hM/FFmL7acbS2+Ve/WCnE=; b=sxMCF3fB6v14AAsuKQTrLWszirFpFCTWlGBKLuj/e4mthLu5JPj6kLJS+oktugEbXH 2XjJn5NSsTg554ZpcybpvqnQqgt1WO/FCeAPVAdw+XgHOinISh1VciSk6CZlpCRc+Fc/ q4omR21kHttGmwJ+XiDLjKIwZy2xuI0Vc4ZiCUzE8z6dYhk6q4oa4jv8eG4UnNOizdzy s/XzlxEE/mBkqeuTe+sXUohPdwzrs06j21KobNRrrVAb08P0Fc4UffElLsathpwmsJMs pMaZFqjzMy5VYYzktMiiPd/s4jqBNTR2la105gO67RiNf+awX9/74pTEAJDv7UTzBtyA 7fqw== X-Forwarded-Encrypted: i=1; AJvYcCXtOOqFRcvXGC3VpMwIAWlz9Mn/giOT3Ekt97PghB4LGDGNzAfrmup/5SbotijKsm1AYx/SJoy5+A==@kvack.org X-Gm-Message-State: AOJu0YydQQa33ZxrX+W8i4fyBwfrvy6IPesqafY2Y9Pnnm+j/VzA6VAy nblezGnGLtPreazLHYXKGiCALJ0zPwIkZE8VzXgm6Q+PPfOe3NhA X-Gm-Gg: ASbGncvv/s9QRKCFaP8NyEOSA9mqhwJ49MkqEmrC2FxlqreQfmA8irq8/3fMgWkRcIG NIQ1nUxFE4Upi0YA6s3mCia+xc/8WhoG3+2gHq0etPHlpABf3hgr7Vwjw61e0Wg2E01jpxVHdkV c8+izX2u37rvRVx/PLe2QR9my3wNzgkbfPu6xqBgvc+fbzyZGDixlnCVo2+itwbZSC26ovELDgx WwBEwiXWEpYDuvDTp/wX8+m2uX2x4Bs/kirgMRRaRxTNwLm0z94GPoSylcG/uPmNygRwRRtR8cx SQVfLoA= X-Google-Smtp-Source: AGHT+IEo3SK+yXDK1MNDKBrxpBhe4pyGECizWv6wccSdRBMrNEpCF0M8a8IB51BoPMmPsDySvZ0eNg== X-Received: by 2002:a17:907:c15:b0:aa6:9624:78f7 with SMTP id a640c23a62f3a-ab38b112933mr1246662766b.17.1737392949455; Mon, 20 Jan 2025 09:09:09 -0800 (PST) Received: from [132.68.46.60] ([132.68.46.60]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-ab384c5c3e1sm637057966b.7.2025.01.20.09.09.07 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 20 Jan 2025 09:09:08 -0800 (PST) Message-ID: <11d9f41a-eae3-43a1-90bc-eb5c69020002@gmail.com> Date: Mon, 20 Jan 2025 19:09:06 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v5 10/12] x86,tlb: do targeted broadcast flushing from tlbbatch code To: Rik van Riel , x86@kernel.org Cc: linux-kernel@vger.kernel.org, bp@alien8.de, peterz@infradead.org, dave.hansen@linux.intel.com, zhengqi.arch@bytedance.com, thomas.lendacky@amd.com, kernel-team@meta.com, linux-mm@kvack.org, akpm@linux-foundation.org, jannh@google.com, mhklinux@outlook.com, andrew.cooper3@citrix.com References: <20250116023127.1531583-1-riel@surriel.com> <20250116023127.1531583-11-riel@surriel.com> <13bc0c49-09a4-434e-bd35-1ea50be38e25@gmail.com> <4dcf2b4ecaede883e2c7f6af3db58a4f6afaf4ad.camel@surriel.com> <2975f6a4-58ef-4499-b177-4b73ead4c670@gmail.com> <2c93b3f17e658483e3ea03ca3f0a717668fd117d.camel@surriel.com> Content-Language: en-US From: Nadav Amit Autocrypt: addr=nadav.amit@gmail.com; keydata= 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 In-Reply-To: <2c93b3f17e658483e3ea03ca3f0a717668fd117d.camel@surriel.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Rspam-User: X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: 5E0C740006 X-Stat-Signature: 1cuftq1q3oogcbqjibwrxgkucagg9na4 X-HE-Tag: 1737392951-748508 X-HE-Meta: U2FsdGVkX1/diT8ujVjl8IwMXNYtUXwyyTKP3g5xzg8U5LSpzsJP0MlC6ZGSv6RRoYyIPK7zC6kvbEx11DeZAQ8yxvwZZjDZu2Hmtv/jD3tRt5gkx5ceYExbRNuA+cTERD1GEl+FNvhBP/Mvtq1Rf0BNnLzSQZb0W4LuylUbUgCxcQdVCi8/b1yHCBqIBsGYMelz8pCaYc3G9gS/Dl1MMBwabCVw7uCKAGMVACeLLKgVJHTvH1JvveGc5T8USRsMlNyYQGEqbUl0Xig4MDnN2sMPVUIKD6N5rCy8E/0jm/ccACoHxGrzp2NiLF/k8duz3M+gWPGqkSf1UhdNxanBw+wyeBzx4sHTwkK4F84OgT8MpqRIFlfsZJRKGRUJfb6ioAX3NE9yvWZDkgaEb9JP5ee6+MR+tpMWtEBfSCh5gyFVyy5681OgmFIPvQLY7idrAjDDLuyZHxBbZTPdcw9SE1YV+PCgDACJ0E3l/KDgMy3g4mF9WtgncH5JMuJjnSV65C0JfGJg6Uy8SmtiqRt08MdZk8XEdX9l5Z80pYwLUUBjbVCOvM+Gx9LTKvJG9hNJ6adqJ2xL5NgeyMZR7CxDza5hfDNDELsCjatbdoIdhaGOiMPIMtkNKb7L9gcWRlvKP4X6eeXD+oFdYFjc+jQ6FCE84ve1SoO70imZPQGhaTyyA0FWrlT1J69PMyIMLy/g5tjPrwtRbupsZLwKXLD7+Q5GD9fjcCO367M+7ijlgbBIxe3Pb0AIKvKCo74mx7KAkKRkuI8C4DTYnrIOJOJC5eSDcCmXnfdN/daT/LAAlY7Cu5YgOUsWcolGCXLLi2u4u+cHvZIZ5wAHvIhucOWgwBbFc5kKUSlk1IvboLRGAhJpY8NRPt92v8f6pmiQgffH4nvYq9WES/eDcsqEY1HXfCDHmWzL0FjxG+7d8jj6rUA+VCsI4w+m7blpKtAWdGvfRMMEWB3UXJzEffyUhTh lULoXe9/ 69/am81Ugr8cdRKlMppjnES31EF8tQaiKUHzQiMgcyx+X9wjO6ZLApGKlkKtJcIkEjPSQWkYYRk1uAygIwBW2Rwt9zxyy8c5xO4+eQiNZIsSF1EE+y5e1j5ZWFlxKFJZpMCTxQJeKaBuJslBbqgKjuH4IIxaFKTMnnnTgfPn8im7JXNslM9QQ20BrhFRlWUpvetFWq61etTgTAJ0gb7R+7s3LvlhNdFMb8SWu1FjO1MxJ5RuRbj7sp8JOvtJxrNY2/3SRe1P3yj9crMMysqelE712mzh4JJwCBPvHm19nBS+ee1Tq2Pq+lQDQGg8487THoOTPjGBPmoqNPLKZSnPOPm6luxUb4s/THIhIO5oKY1I+aW1b37LJtuydjzOSajNiozUbHqpokXJ/gXvXHn3EVNIX0s8MaI2Ac+9CIw3Y6ghD69lpwx8igi5wAw== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000332, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On 20/01/2025 18:11, Rik van Riel wrote: > On Mon, 2025-01-20 at 16:14 +0200, Nadav Amit wrote: >> >> I am not sure we are on the same page. What I suggested is: >> >> 1. arch_tlbbatch_flush() would still do tlbsync() >> 2. No migrate_enable() in arch_tlbbatch_flush() >> 3. No migrate_disable() in arch_tlbbatch_add_pending() >> 4. arch_tlbbatch_add_pending() sets >> cpu_tlbstate.pending_tlb_broadcast >> 5. switch_mm_irqs_off() checks cpu_tlbstate.pending_tlb_broadcast and >> if >> it is set performs tlbsync and clears it. >> > How does that synchronize the page freeing (from page > reclaim) with the TLBSYNCs? > > What guarantees that the page reclaim path won't free > the pages until after TLBSYNC has completed on the CPUs > that kicked off asynchronous flushes with INVPLGB? [ you make me lose my confidence, although I see nothing wrong ] Freeing the pages must be done after the TLBSYNC. I did not imply it needs to be changed. The page freeing (and reclaim) path is only initiated after arch_tlbbatch_flush() is completed. If no migration is initiated, since we did not remove any tlbsync, it should be fine. If migration was initiated, and some invlpgb's were already initiated, then we need for correctness to initiate tlbsync before the task might be scheduled on another core. That's exactly why adding tlbsync to switch_mm_irqs_off() is needed in such a case.