From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-ed1-f45.google.com (mail-ed1-f45.google.com [209.85.208.45]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id F140822615 for ; Wed, 25 Dec 2024 23:22:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.45 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1735168950; cv=none; b=ig5TJzH+q9tQEyG5YApFm8wZSKeCmk+7h91G0DJ0nZIHke7gAQh2/xJmd/wK0rgNBMknQr7QF6ehpq6Qu/0Ht3uY3/nEHXztJInGGSZMbTOi+kPeBlohsv8EkwgngvtzpZOebWYl7lmVDfU5QPrkEq6OqYPjv38DLqqY5RgIdQk= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1735168950; c=relaxed/simple; bh=LaU1cUzctJY20IiKW/T826HYOLjJ5SLq7Yb42TI9HE0=; h=Content-Type:Mime-Version:Subject:From:In-Reply-To:Date:Cc: Message-Id:References:To; b=fIMacthCuRUHZ2arYribbRmrmq+yWksKFMmLdXP4jorZ+/AXi0M0PEZ2h4wwuzgQHkUdG1DKMXRmOH6QRJpXMMM34XvKCxiqjF/mXhD/3rFbY5LhrogZDcg7xPPIQ4rYx4WTtoiBwA/vM43XRDNcX3b/JPaZRruYTbY9useURxE= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=nFzqyFZO; arc=none smtp.client-ip=209.85.208.45 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="nFzqyFZO" Received: by mail-ed1-f45.google.com with SMTP id 4fb4d7f45d1cf-5d3f28881d6so8276023a12.1 for ; Wed, 25 Dec 2024 15:22:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1735168945; x=1735773745; darn=vger.kernel.org; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=N3ZUuTTENet/kASuSts2lUFKuWaHcTOF1FShzRa5DvY=; b=nFzqyFZOJNJNelzxa+rTDHGuwm6LwTKs349GYTWe7NHZPAHmeIuyI8rJe5ti75CLXD 3VNvsaAbrZv21QLNPWNXUtTT+Te+sqJOf3fJOo6GZs8rNFD1XgUwUvZ5fWI+fsQH0TFS fDrM4L+XheOAvCnOZTCyBeQVObsi7VSXUkKx3L2MRzy7cMHcIisMFY8wGxnB1b1n8J41 GDgJFBmoyUDYMNe2jxT5umSK4kRaDtW7iSNReplvZnu/+43o/YNmy1m71rWIAhOdmBxk cY0qQOjYfmMKwXzj9bp3gNz5Shv3Fa++GIVgRmR/QRj8BcK/UbUvxCxzQGTEkGOHt8iK h83A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1735168945; x=1735773745; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=N3ZUuTTENet/kASuSts2lUFKuWaHcTOF1FShzRa5DvY=; b=L3B7FbUIzbFFxoBltH7jG55HVvqIWODf+C/YOBmhXs+CJrD/xAzYQc8PydN6zHyFVP D5tsq3iyIMQ3MMdnUP6kwqoV7JiLfXMVtBMwcJoaKxExtjH7abFh5/BBPwkdDHfMPi23 53RZMazXlpNkn18Qv40oUqECOcLR2WS3bDV0dwvFnfAxCdudO8BmnPThrhCOIRy0Rtl9 2vhmlXPN9mFsQRFylaFXpBw1RmANoGkxD7+P/H2OOsPwXFqNSw1mvptj35PqoXf9/TZW +OykQVkBiysfaN4A0/ofTBXgY1Zi06p+M8AzgCuqE89EFA/4kP4IA3L5P+54AouyOBYy hV3w== X-Forwarded-Encrypted: i=1; AJvYcCULlFCr6EhffqPXp60JNNF1CrhnaFJgUNpf8n88NVNuaUO3t0zcm3Z9mNc8STCLx1761yREsIx2/ti/UiM=@vger.kernel.org X-Gm-Message-State: AOJu0YwsJcqIPsPgjdnBRzUyqrJkylJyuoE+/JfUl1kSEDbIUzWqEwWg bk7/oPyomZP1BkfifJOgVGNCtkGhyU1DaqRzuX64z0zbm1LUFvXB X-Gm-Gg: ASbGncvxOc0c2HtIn0QZFxHfzLJZvQmg9F8QANAMemvHBQYbi9GXSU3eO5hI3Ie4VuV aaHbSxQx5amYB3u63f06VW+hYYz1oBBnkgH97vrj/ZdOEivDIJXR3asmisNXI29ve1oTywf9x7x AI5660kFIVOeAFYoljQgT2rDZP4notJKZnMty9gNokvFSRxurWp4wusZAZpo70QPqFLFEAvR90D moigQbCgpOnhNwB1wrwftqs1JQ3QATPCTa/YaF2eWebELGUfG8rM248RiWOyLoHmiYQHzz5QQ== X-Google-Smtp-Source: AGHT+IFu0G29XSe4t4bZNzgEypvWyn3k5jBaaV1yv9MC6sxeYyaIMCCbnkDTNG5JscFqtFOocOE/jg== X-Received: by 2002:a05:6402:3224:b0:5d0:d3eb:a78f with SMTP id 4fb4d7f45d1cf-5d81dc79cadmr52023695a12.0.1735168945014; Wed, 25 Dec 2024 15:22:25 -0800 (PST) Received: from smtpclient.apple ([132.69.243.32]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-aac0e89537dsm865718466b.54.2024.12.25.15.22.22 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 25 Dec 2024 15:22:23 -0800 (PST) Content-Type: text/plain; charset=utf-8 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3826.300.87.4.3\)) Subject: Re: [PATCH 08/11] x86/mm: enable broadcast TLB invalidation for multi-threaded processes From: Nadav Amit In-Reply-To: <20241223025751.3268975-9-riel@surriel.com> Date: Thu, 26 Dec 2024 01:22:10 +0200 Cc: the arch/x86 maintainers , Linux Kernel Mailing List , kernel-team@meta.com, Dave Hansen , luto@kernel.org, peterz@infradead.org, Thomas Gleixner , Ingo Molnar , Borislav Petkov , "H. Peter Anvin" , Andrew Morton , "open list:MEMORY MANAGEMENT" Content-Transfer-Encoding: quoted-printable Message-Id: <4F173A6B-B09B-40D0-B118-94B08B9ACC32@gmail.com> References: <20241223025751.3268975-1-riel@surriel.com> <20241223025751.3268975-9-riel@surriel.com> To: Rik van Riel X-Mailer: Apple Mail (2.3826.300.87.4.3) On 23 Dec 2024, at 4:55, Rik van Riel wrote: > +static int mm_active_cpus(struct mm_struct *mm) > +{ > + int count =3D 0; > + int cpu; > + > + for_each_cpu(cpu, mm_cpumask(mm)) { > + /* Skip the CPUs that aren't really running this = process. */ > + if (per_cpu(cpu_tlbstate.loaded_mm, cpu) !=3D mm) > + continue; > + > + if (per_cpu(cpu_tlbstate_shared.is_lazy, cpu)) > + continue; > + > + count++; > + } > + return count; > +} Since you are only interested in checking whether the number of =E2=80=9Cm= m active CPUs" is greater than a certain threshold, don=E2=80=99t you want to add = some checks for early termination? This can allow to avoid cachelines of cpu_tlbstate traversing back and forth. For instance, by running cpumask_weight() first, if the weight is lower = than the threshold, no need to loop. Similarly, if inside the loop the = threshold has already been crossed, no need for more iterations.