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 2B0E5E77197 for ; Tue, 7 Jan 2025 23:41:42 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B04176B0083; Tue, 7 Jan 2025 18:41:41 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id A7F316B0093; Tue, 7 Jan 2025 18:41:41 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 947716B0095; Tue, 7 Jan 2025 18:41:41 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 73E496B0083 for ; Tue, 7 Jan 2025 18:41:41 -0500 (EST) Received: from smtpin20.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 22CC9C04B0 for ; Tue, 7 Jan 2025 23:41:41 +0000 (UTC) X-FDA: 82982280402.20.85BBAF2 Received: from mail-pl1-f182.google.com (mail-pl1-f182.google.com [209.85.214.182]) by imf30.hostedemail.com (Postfix) with ESMTP id 2652C8000F for ; Tue, 7 Jan 2025 23:41:38 +0000 (UTC) Authentication-Results: imf30.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=lxZeCiNZ; spf=pass (imf30.hostedemail.com: domain of levymitchell0@gmail.com designates 209.85.214.182 as permitted sender) smtp.mailfrom=levymitchell0@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=1736293299; 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=mEk0Wg+N7qnKuM8BRnohWRAaCY5U/jLwfxaHAknkjg4=; b=xR8nuM9J2eU+Uek9ei7nOrqZyl/hCYe69wk/C4HxJR+jzhPyd+SvOJ9J8vIULg8G3aTbYn vdudJVe3m8NmOR4Sany7KZ9cNhPI8VILGRR0NTvCi1n1koaWg4u4yEo8Vn9CNmCn5qD3Dn PwXmlkn3nt5qBQa4dhz/QFGqsysrJVI= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1736293299; a=rsa-sha256; cv=none; b=b+ZJHaGgRelW5Wj2gfttvlZUSHBdGyUbm8dOmacwHInteumshrvof4tkgyNoScTA4IwAi2 xPnctZGrdHAc1/5fJu3UtnyiOadoRqvcHgAm7TonfO2Pg4FDRBmMrVCE0niSaL4a9ML9Jc Zo97AfqlZ491Ez0t/GjoiaNY+VGWUXk= ARC-Authentication-Results: i=1; imf30.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=lxZeCiNZ; spf=pass (imf30.hostedemail.com: domain of levymitchell0@gmail.com designates 209.85.214.182 as permitted sender) smtp.mailfrom=levymitchell0@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-pl1-f182.google.com with SMTP id d9443c01a7336-2166f1e589cso21793165ad.3 for ; Tue, 07 Jan 2025 15:41:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1736293298; x=1736898098; darn=kvack.org; h=in-reply-to:content-disposition:mime-version:references:subject:cc :to:from:date:message-id:from:to:cc:subject:date:message-id:reply-to; bh=mEk0Wg+N7qnKuM8BRnohWRAaCY5U/jLwfxaHAknkjg4=; b=lxZeCiNZAVxRahEQv/9lpOTkDUfRG7qanaEPOaWC/MN9hWGGl0FiT1hP3CeY2sk+97 WuM2THwZMXadOUVMRffr84RCefjGl4ySGv7R/JdCdW/pRV7C3f5Ib93EOMu2y3VnjPB1 NSWwuLHG6kn9/59M0vXPUhBtbqtA+7MSMZoIbCIUEGyWlzpzhMw4UB32i0c9oGdIZ9eC X7/J4Nu1C7GvjGJWDZx0ojdAlMYzhuWAD+xIpAul3IjPpyjfZUGJkDXJ9mXL35VXto1J KTzVG1fVbGE8Qt3s/MGKP7Vby2WyQJr1OZUGkzkRrKb1QaxI6tfo20+XDjX+MEu9OVDl dWVQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1736293298; x=1736898098; h=in-reply-to:content-disposition:mime-version:references:subject:cc :to:from:date:message-id:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=mEk0Wg+N7qnKuM8BRnohWRAaCY5U/jLwfxaHAknkjg4=; b=VHHaQbFQC7r021UZv0Ib6kme1dyT3N2DSca6z1ly5f2XQ3VSeKDXC79kk14BT3l56I Xm0DnvCbSYxfO/PPZlPz54lO+91ShKP9zu0a6fsHpZ5S0BM777YvCZ92y6XWIC+DRdLc YVgZ8toRo1PU1Ro4sULwUcctAY5v7vQSJhQuJ0TvxP2i/nkCT175b9rd873bw/JuXeJm TtNQ9WAGkUNtZMmtm3/V7LTzRci4HK9y24FYSsWUsNI0gUKMIlaoewU4h2EkmaLPNQnA DKjXSrTQBNurUruVoebyTjTIR/oAvc09RGjaZ0ZE8Bja9qtyex5lP6tJyW2e7fxltMXy JKXg== X-Forwarded-Encrypted: i=1; AJvYcCVSZ7GWYL159Id5ExGmJVvIuLfdnMV9dP9lE+S/tmBz5gjIhfMbFkE3oYBMjY9V9kPnSP/UHSQHuw==@kvack.org X-Gm-Message-State: AOJu0Ywsj/Wl+tYlVt3X1XkeRpfa1l+gBb0NPBtPpQB0fv2gQScYm10V a4hOpP5uvTqWUXueVd9N7G7i1hgtqiuE57XtQsyBlNWQhFMe/iyz X-Gm-Gg: ASbGncu0ag3dNpfw43x/PYNK9ElL3l6z4mljAn1qA3+FVqzR2d79izcEq1NLxVOc49x /SsVlrHLVT4aHYFARp8dlTjZLntznAvAzKRhbL7qQEwSr77PW8fjSPxFx9+y2X7TwmzvMBJzxmx ZAAr+jrri9mRnbFaA7wIcYiY+auT85Ib/5Vwvv860PPY6hk5FwuG31/bymzJtjXo300mYsZw/LD UMwAWxjOmIzCpoJfmIrEjswh9AhTI9C/PZTUVqzrgO8souWsoKCPb1hkQ0GMfoylOtnAAcI/bmg qTLkGMA3GEM= X-Google-Smtp-Source: AGHT+IHGr4yk2g1gXQDDaVQVTM25Kiqi2gcevsdgXOZVSwE5WlOKpAwnLnM3FT8Wq3hzTvqX9MJF+w== X-Received: by 2002:a05:6a00:39a7:b0:725:eb85:f7f7 with SMTP id d2e1a72fcca58-72d21f17c7emr1144653b3a.5.1736293297826; Tue, 07 Jan 2025 15:41:37 -0800 (PST) Received: from Cyndaquil. (71.sub-174-227-40.myvzw.com. [174.227.40.71]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-72aad830afasm33949059b3a.49.2025.01.07.15.41.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 07 Jan 2025 15:41:37 -0800 (PST) Message-ID: <677dbbb1.050a0220.39ba68.8825@mx.google.com> X-Google-Original-Message-ID: Date: Tue, 7 Jan 2025 15:41:28 -0800 From: Mitchell Levy To: Charalampos Mitrodimas Cc: "Christoph Lameter (Ampere)" , Miguel Ojeda , Alex Gaynor , Boqun Feng , Gary Guo , =?iso-8859-1?Q?Bj=F6rn?= Roy Baron , Benno Lossin , Andreas Hindborg , Alice Ryhl , Trevor Gross , Andrew Morton , Dennis Zhou , Tejun Heo , linux-kernel@vger.kernel.org, rust-for-linux@vger.kernel.org, linux-mm@kvack.org Subject: Re: [PATCH RFC 3/3] rust: percpu: add a rust per-CPU variable test References: <20241219-rust-percpu-v1-0-209117e822b1@gmail.com> <20241219-rust-percpu-v1-3-209117e822b1@gmail.com> <5374de79-0ee6-e817-0f87-c800a6fbb733@gentwo.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: 2652C8000F X-Stat-Signature: e6o9qfartxsdzky144919x49ahdcassc X-Rspam-User: X-HE-Tag: 1736293298-478628 X-HE-Meta: U2FsdGVkX1+HZvCn4m/55ZPHsVg+EIeIYI1lk/3bqW5/7rcrZ0iyziyGeP6DL+HMFX2foUnrdFI4KYduwHlSR/T0h4cOohBf1gkR76F8QUt32g8uH45EW9tkK+ZhtvBiP6WF8CEjobxBNIwWtHhV1odHA3Hu7tNNvi75ZCQRVOkIXLrNOwzbzGYAkP4Z0/mF2xUDJZeZaK9XHBS4bdg9fb0kbt8fTWbsKKuaZgM1OniqysVD8I6Fjt5cE5552OaRJ0jEB6UDgoLliBO9Uma1v8gKD1oBhDQRcVJsFgbEdMoRzBJtaUbITuLgSsjCBTNO9AW2jtvbmQ1fFF7M3Od38WimH5m6Kim75HHDKA6NY+14UUKJxB1J3V6p/sDTR979S3BoWRribgyhKifR8Kad7L4jZAiyHrkdKrqtpjoAzTTOauplWLjwTK9fnzLnnTzPfUicv3/i/CWwZQduTnifFi8jVghAM1daOk77dCL7Haims3beYLrQQXW2guhJbgTBBLtaTGpONgQypwd6HyX1bwwvGS0a/bIYl1U0tRLVE5lfb3Kvya+882/lW0ZSPdDfnjNDcvCuIpmKXbyU+IfXYwFx4UovyLBDyoGL/Ff9nA5q9OmU92qC/kHcLmZ0/ABxdFOXrbRR+Dx6beWMclKiurTUnwBswyyXByXvnwdhyWLfH431rYBCqOdkJe01AeAYqlNUOPsFgyJPLoJ7F1+PQdZ47mNycRSuNXItdA9IqaUQ/zHD7AiPIHLczm70/rMO1Mxc9bxE5YYzluc2W6u2BvO3tGKk+F0IPlsDM176zsKr8d8hdUmsn0ap8PgOFC63JD4hpLWn0ur9ZpDQyLVp7yk8ZMr1+Yz51ogcHiOEbbY+6KGpiUREi3AqDnlSKWloJ8M/4AzixI6cff3rm81uXvVyjDuKvQ/mW+gVEWGE359X6rQZLLJLKWqZz1ZlD3BFxTtXdMKiQQUboshywjR imZrOC58 0oPeruJu5daj0q/oN6TXo9eJNvg18CXu9FA1VgsDYasBtQVwQBSoqCjdmBbPEN1k14XWlEmbM5sV7pjP9qz1XOylI4t87TIbPTCcDFLAD2C0xuU/2Lt9qVSpApfcMtkwSAP+moxGA/KBwMNJ9CdgMMKl2hThxRi8XV/NWyFgj9leF6tV73kMnbfy/IK915ZRp8F6whevYSOgoYsvbp4M7F+kpshb8oDZBq0/pgE6H4QG8PmkxAzS+vcY4HEF1GXylTcSjRPD4Y2ShAA4QPjz2F0dpwL2aK/QR+E/SH10siK+wFL0M4Bk0H5DPdW+fQ7qVDDdf1oOEu14OuWOhIabUtVCtWq9Y5UKHBGkdhYskJnmb94UVwayFFnZU34+YLdGvPUW5nViT+ieV/G6kYT942uaLUeUddHyKQsORbIt0/UKaPXDN0b1+skSJvLjUxwpeGT2WPAXnkc+lbN/6bgiZe7h+husMBfABP7hzDY84Av7IQJA= X-Bogosity: Unsure, tests=bogofilter, spamicity=0.499973, 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 Sun, Jan 05, 2025 at 01:01:43PM +0000, Charalampos Mitrodimas wrote: > "Christoph Lameter (Ampere)" writes: > > > On Thu, 19 Dec 2024, Mitchell Levy wrote: > > > >> + let mut native: i64 = 0; > >> + let mut pcpu: PerCpuRef = unsafe { unsafe_get_per_cpu_ref!(PERCPU, CpuGuard::new()) }; > > > > A bit complex. > > I agree with this, maybe a helper function would suffise? Something in > terms of, > unsafe fn get_per_cpu(var: &PerCpuVariable) -> PerCpuRef { > unsafe_get_per_cpu_ref!(var, CpuGuard::new()) > } I'm certainly open to adding such a helper. Is the main concern here the unwieldy name? Generally, I prefer to keep modifications to global state (disabling preemption via CpuGuard::new()) as explicit as possible, but if there's consensus to the contrary, I'm happy to roll it into the macro/a helper function. > > > >> + native += -1; > >> + *pcpu += -1; > >> + assert!(native == *pcpu && native == -1); > >> + > >> + native += 1; > >> + *pcpu += 1; > >> + assert!(native == *pcpu && native == 0); > >> + > > > > That's pretty straightforward..... But is there no symbolic access to the > > per cpu namespace? How would you access the kernel per cpu variables > > defined in C? > > > > How do you go about using per cpu atomics like > > > > this_cpu_inc(nr_dentry_unused);