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 24BBBC001DF for ; Wed, 5 Jul 2023 19:00:27 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B9EDD8D0003; Wed, 5 Jul 2023 15:00:26 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id B76A08D0001; Wed, 5 Jul 2023 15:00:26 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A3E1E8D0003; Wed, 5 Jul 2023 15:00:26 -0400 (EDT) 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 91F468D0001 for ; Wed, 5 Jul 2023 15:00:26 -0400 (EDT) Received: from smtpin19.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 0DF7240C16 for ; Wed, 5 Jul 2023 19:00:26 +0000 (UTC) X-FDA: 80978474052.19.18D30E8 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf28.hostedemail.com (Postfix) with ESMTP id 49F91C0036 for ; Wed, 5 Jul 2023 19:00:20 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=none; dmarc=none; spf=pass (imf28.hostedemail.com: domain of "SRS0=voQb=CX=goodmis.org=rostedt@kernel.org" designates 139.178.84.217 as permitted sender) smtp.mailfrom="SRS0=voQb=CX=goodmis.org=rostedt@kernel.org" ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1688583621; 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; bh=PiVQ8ZDEPXhtvkcRdl3bfl3WjN+tGTKZiEw5vKQXRQo=; b=esA0/O/y86DXI+YnQ//jX+YQSiK1gH7EjrrGhlyuYGUVRh7uu26JfBDikYJcwaNT4g7BEK WAVAM+OgoMjNCzndxehoydoGQXhlX57ljq4lOoXOein95ibIwZ5L6NnMKmk1pdwT2Yxv8R aMFevjea+dXGVA8orUGM+WSuN6/b49E= ARC-Authentication-Results: i=1; imf28.hostedemail.com; dkim=none; dmarc=none; spf=pass (imf28.hostedemail.com: domain of "SRS0=voQb=CX=goodmis.org=rostedt@kernel.org" designates 139.178.84.217 as permitted sender) smtp.mailfrom="SRS0=voQb=CX=goodmis.org=rostedt@kernel.org" ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1688583621; a=rsa-sha256; cv=none; b=J6K3RmvsVuVDCvO24fhvujuI5rQfg71UilBgJaesXMmd1LQbq/atJXBpBgwDlHJI0txHtU LPk7vMdIbxJYnxHZyWm2BZcgEXF3Wt1rRgs/w0PLGdChRZAQWiNoakfIskmRCcl/YctMvm yEMZ/FMInpI79B6cfkJ9ly+FLGSLwgU= Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 1788D616EE; Wed, 5 Jul 2023 19:00:20 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id AD2C4C433C8; Wed, 5 Jul 2023 19:00:14 +0000 (UTC) Date: Wed, 5 Jul 2023 15:00:13 -0400 From: Steven Rostedt To: Valentin Schneider Cc: linux-kernel@vger.kernel.org, linux-trace-kernel@vger.kernel.org, linux-doc@vger.kernel.org, kvm@vger.kernel.org, linux-mm@kvack.org, bpf@vger.kernel.org, x86@kernel.org, Masami Hiramatsu , Jonathan Corbet , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , "H. Peter Anvin" , Paolo Bonzini , Wanpeng Li , Vitaly Kuznetsov , Andy Lutomirski , Peter Zijlstra , Frederic Weisbecker , "Paul E. McKenney" , Andrew Morton , Uladzislau Rezki , Christoph Hellwig , Lorenzo Stoakes , Josh Poimboeuf , Kees Cook , Sami Tolvanen , Ard Biesheuvel , Nicholas Piggin , Juerg Haefliger , Nicolas Saenz Julienne , "Kirill A. Shutemov" , Nadav Amit , Dan Carpenter , Chuang Wang , Yang Jihong , Petr Mladek , "Jason A. Donenfeld" , Song Liu , Julian Pidancet , Tom Lendacky , Dionna Glaze , Thomas =?UTF-8?B?V2Vpw59zY2h1aA==?= , Juri Lelli , Daniel Bristot de Oliveira , Marcelo Tosatti , Yair Podemsky Subject: Re: [RFC PATCH 03/14] tracing/filters: Enable filtering a scalar field by a cpumask Message-ID: <20230705150013.5ba7ddb8@gandalf.local.home> In-Reply-To: <20230705181256.3539027-4-vschneid@redhat.com> References: <20230705181256.3539027-1-vschneid@redhat.com> <20230705181256.3539027-4-vschneid@redhat.com> X-Mailer: Claws Mail 3.17.8 (GTK+ 2.24.33; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Rspam-User: X-Stat-Signature: 76xxqn5fnyb3f5i4pa8e3kpcf1h9emqo X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 49F91C0036 X-HE-Tag: 1688583620-748023 X-HE-Meta: U2FsdGVkX1+hs22wDI3i+zvOgDcGgNC30xLuDaaKsYyMWACbbNYypiNy6X9/X5E0Ex3QWUY4TUO2MMpS+BcBKUOIxF3igKeWDcdVKFBmVrZFPgmtMRh0GGPEyfYh3EHNOm06ERYjNv6Yl9ub2jvG0nTfaTk4mT59u0jM05yAgoUtxT1W/fOgR+W8m/8CWRGKf/zaC6KjSREOI9pBv7QKAeJnXN+w5rhI39fok9BydkmsyP+qdaE6aMkkAVPPOOCQG4n5zZA+KI0cGEXN7hBodTv/wIUZsjKi0N+EftEVmnJIb7CedKS5sgL3iXSXmN4Nkb1gRY2yg9Ceh4PvAy2CvLnN/OcjHaOyWSbN5F9JpDu+89sU6p1jw3WAsnm4UaY8j++FZbSqiii3SPEKQUo9PY7lUbYFXFdEqzhJxu4v9KOfWdh3cUfmq1oilEsHRP81q4yaaCkMD7x3qJ7gCvSsTrJPffUlms5amqeB11gwNXkAaAt/V8TfGDgEreR2LmM7lUTU0A6LN82jSj7wmkNGeK/vunW/fCcKoQFjoESU5/ueAmsFUxtqc5WgWkw9jns1BFmu7q6G4Ge66fzGC4JG9tXiiDG0M/PpSM9v8+XyyUGXZeLfg6eSLrj6luT7AT3VbcZflFHHtK1HMTDDwq41Q+mCn/suibE14nHtoa/qcftSBITVY8qUt0KAUx54SBP0xH55bCouc3ccnjCaBtfnU30W2Hf+BP9zQUcfWTDSvebM9dZsw7I5alAcy+M8H0JbNznT5O13JUr28lGoqX8RMv5AerSuBp0JUdFE2jGwLiVrIdJ/Ud6i3cXAoof9NZVmNPoaVQNUuMzh+0MsGfvt4GJQKCgIhXqLWp/4tWvlPOOJBNaSUTOqkPHHGTlzAg86lTq0ZGJQV+dxGBNaFSqWb94cTxuGOMPnCtv7n+4sUURefl/RCayieMnjXbal+femGpAIB3IRVj7tfJfIRq4 jqpTPGUR 4okEP8PkNpQj3enjfipFYt1AMPybZgwGc4w8UR9i9NfFZALjkeRZeoSEcRNK5VhDzYvwuDlOfjtG9L2tACchY+L998BMDy/BDT9AwtslU7SF5EWxJ87neDNOk3gSsA3Ejsqt0mNy+4t2xbrtv7o5BjU4HZiu5Zn6usRyTWiwTfcgShf/PsYEzH2YS5XFyI7pbdlWmADUiYo5+1srpkdosJzy32PYtBgkgYXEXQ1D8pJh8rH44LNs514ZWa8B2jx+auhXQhowz/2fk5vZEAt0cP+TPDoTzYJPOIvTHuM5cjW+PwO8YvKYIEHumQutlx34a3deKEtxsozbrIvqUUiQQCLs/WEfPpywHev2Qs7vLIgbYQsIGUSMCb7e6yw== 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, 5 Jul 2023 19:12:45 +0100 Valentin Schneider wrote: > +/* Optimisation of do_filter_cpumask() for scalar values */ > +static inline int > +do_filter_cpumask_scalar(int op, unsigned int cpu, const struct cpumask *mask) > +{ > + switch (op) { > + case OP_EQ: > + return cpumask_equal(mask, cpumask_of(cpu)); > + case OP_NE: > + return !cpumask_equal(mask, cpumask_of(cpu)); The above two can be optimized much more if the cpu is a scalar. If mask is anything but a single CPU, then EQ will always be false, and NE will always be true. If the mask contains a single CPU, then we should convert the mask into the scalar CPU and just do: case OP_EQ: return mask_cpu == cpu; case op_NE: return maks_cpu != cpu; -- Steve > + case OP_BAND: > + return cpumask_test_cpu(cpu, mask); > + default: > + return 0; > + } > +}