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 93C0AC6379F for ; Mon, 13 Feb 2023 17:59:26 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B597F6B0073; Mon, 13 Feb 2023 12:59:25 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id AE2AD6B0074; Mon, 13 Feb 2023 12:59:25 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 983F56B0075; Mon, 13 Feb 2023 12:59:25 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 8AECE6B0073 for ; Mon, 13 Feb 2023 12:59:25 -0500 (EST) Received: from smtpin21.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 42A191A0B38 for ; Mon, 13 Feb 2023 17:59:25 +0000 (UTC) X-FDA: 80463030690.21.E0F0EFF Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by imf08.hostedemail.com (Postfix) with ESMTP id B0A2D160015 for ; Mon, 13 Feb 2023 17:59:22 +0000 (UTC) Authentication-Results: imf08.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=Tcli7MPO; spf=pass (imf08.hostedemail.com: domain of dave.hansen@intel.com designates 192.55.52.93 as permitted sender) smtp.mailfrom=dave.hansen@intel.com; dmarc=pass (policy=none) header.from=intel.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1676311163; 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=lFI3CSbfwXMqpCRO1q5ZNwHRV+WS/Ckh7ajUd7Q+b6k=; b=WCC7bMpkziIlEseDU+uWjYVPUIYW91zJvhICBmaE3ELe/vzNEm4JrYuoSET9xa8ovQq+aW yW3nU7hBT6LJz2mdMpD/mR4fML/LD16yjyyDxlXbBItHrUyB8yQ4fZYHtXm70n57Kjn0Nt ci7ZVRuiYIgIz3LaBCRZa5X+ZcKJl4I= ARC-Authentication-Results: i=1; imf08.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=Tcli7MPO; spf=pass (imf08.hostedemail.com: domain of dave.hansen@intel.com designates 192.55.52.93 as permitted sender) smtp.mailfrom=dave.hansen@intel.com; dmarc=pass (policy=none) header.from=intel.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1676311163; a=rsa-sha256; cv=none; b=hZ1CHV5OxQ0Q7x5xLQF8q/y+sW5R9wXT/C+Dyw1Pq4rTUZHvzBIe1OX69xaOALNPXWDVJ+ lCcx9jkH6Hn4nCU2LyVaehTn3ioqYfP8M4ssf36LFpgNdAbM192eq4hw5WXF/xm/pbHULK aW7ikBi/ZawkfGZIqW+CuGAuDefA+Y4= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1676311162; x=1707847162; h=message-id:date:mime-version:subject:to:cc:references: from:in-reply-to:content-transfer-encoding; bh=1sRRCU82GzDMVMojlElBVvdgoOoAuSY3zojW+48EiX8=; b=Tcli7MPOtoF4V/NR6waKEngi7i8XPBpKu67WDkFFGoIJ29YxnJGa5/Yl wkIpLFyDYTRR9x83ZQpDlWT8XoeazwVlO+pgZSLIXmITuKGsMQt/lML/x 5XE9jIxWtekF4KPZ0oXUrbs/wPRkp7k7LExPA9dT+ZMh/gu/A9GY9EHFj zYSbMZQ8XrTvE00xjU/5tYCZEtGY0tBPa73n8KAaR4517vlMFVJwKfVQl gnbQdWJx5yMW18UrYpfplJw/JP0TpwuSHr043UjB9KxFLV6JCSSI6K4eD QhwVfsnWkrNVcWIEPdiJ9N6S2c9aOAiIp2YIjcv6rdcPAmxDg6m0gc/RE w==; X-IronPort-AV: E=McAfee;i="6500,9779,10620"; a="328657958" X-IronPort-AV: E=Sophos;i="5.97,294,1669104000"; d="scan'208";a="328657958" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Feb 2023 09:59:19 -0800 X-IronPort-AV: E=McAfee;i="6500,9779,10620"; a="811686102" X-IronPort-AV: E=Sophos;i="5.97,294,1669104000"; d="scan'208";a="811686102" Received: from mlswanso-mobl.amr.corp.intel.com (HELO [10.251.26.232]) ([10.251.26.232]) by fmsmga001-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Feb 2023 09:59:17 -0800 Message-ID: <86a8fe2f-566a-d0b9-7a22-9b41c91796f8@intel.com> Date: Mon, 13 Feb 2023 09:59:17 -0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.6.1 Subject: Re: [PATCH v9 07/18] x86/virt/tdx: Do TDX module per-cpu initialization Content-Language: en-US To: Kai Huang , linux-kernel@vger.kernel.org, kvm@vger.kernel.org Cc: linux-mm@kvack.org, peterz@infradead.org, tglx@linutronix.de, seanjc@google.com, pbonzini@redhat.com, dan.j.williams@intel.com, rafael.j.wysocki@intel.com, kirill.shutemov@linux.intel.com, ying.huang@intel.com, reinette.chatre@intel.com, len.brown@intel.com, tony.luck@intel.com, ak@linux.intel.com, isaku.yamahata@intel.com, chao.gao@intel.com, sathyanarayanan.kuppuswamy@linux.intel.com, david@redhat.com, bagasdotme@gmail.com, sagis@google.com, imammedo@redhat.com References: <557c526a1190903d11d67c4e2c76e01f67f6eb15.1676286526.git.kai.huang@intel.com> From: Dave Hansen In-Reply-To: <557c526a1190903d11d67c4e2c76e01f67f6eb15.1676286526.git.kai.huang@intel.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: B0A2D160015 X-Stat-Signature: q4m7gto8191gzgcws6rt5s7h7e3rqjb4 X-Rspam-User: X-HE-Tag: 1676311162-588619 X-HE-Meta: U2FsdGVkX18Rf55hmYSDChT/JwXrUabBkNWS93VgjbF0voD0K9Rt11xVaBkGRVJIC9+4Pb2wGLhNfqUieF4kflnYtO2+BB2ZDVNReYT0+NXoHC6WGrhY6uL7MP5ddoDwjwZUKdgrWJexaOD8fG3bcba9EDGmxBJnCGP2sIIPp0Aafg5xzP+mmiKWMOETeni22UTawsdwG7bjWMLl910z9yB59xokckh3C5KZfKcLWCTFxj1CLNgUs8kIQGZYVhbEH0MWSBMNCiRTnI83rgkmMiX+dk19Ny+VWxc59/Ni0uvFrOajayfRcArXnJIO/2ct6Qr/JkCaeU4kA73oLZdTW+Qlm2VJNRvbUybtjJu4QSwuMOEEr1UHUmvHJuaZBvajfZh++dL4lOq29+fC0pgFqQMwQSPt25EMiRYvnWpP2jJxfC2zuSltSDC3zBiX/TauBk+CMJhUK2bEld9BCF5oj9bsxJ4EBNsC6YMgcVP2tp1Trvr/RCbRrz4aZUng3UhV9i6Y5RsMnAOACr+k65lBMZRHo6Vgk/zHqIrPUVDp4U7jCX9D0zyBq+GOgeFDqavK2pvJH+f5q3DYeh+ReC0BGeVZYGolHUcyu/AY86LkmepB7Iomf053dgGQt57Q1pYVx7SpXX6T6xl3PW+I/aTpCx/Bfa3RDPsJST3Pun+kGxMuhPl7y77wj2JxM9xJOce++obEsHlb9nsCbGWlh+JJ5w1lkDNu4nwgflkvdux0Vc+WH4+Dq94WD/aAWXfdw2/CrRSMBwPL9c/TiZ0F74CzgZRApO4ajtN2fxH71nlP/TFXK09eaS+RwfIc8C0uqouxWN504lII9eDKjyLfDc1exg43tuf1Qc2P8C5RGdK3dlfyJaaTVLBnq794fE6xnW7bZt/CUC7ehwNzEfZ3GGRtcgBsyTbWmeBQFa4izTkAs7mc2A5H3kbJwst0kGj1A58YqyzJOv5yyHzjcpdoA8i 5sulXG49 zJMQchvwNYUF1G2DhVThj+2Hd1zIH+abLsmT69cjixe1fYivQXsHBGM+quvknJZnNj1pxRFkYVvb+s/1ENXNs4kBfQY8CEpdHrVNt44utvphQn1h73sASWjJ7M+wZPjHAmhZiXP/3nCyaOZBceiPXKw9Nx0aWhoJj73n5 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 2/13/23 03:59, Kai Huang wrote: > To avoid duplicated code, add a > helper to call SEAMCALL on all online cpus one by one but with a skip > function to check whether to skip certain cpus, and use that helper to > do the per-cpu initialization. ... > +/* > + * Call @func on all online cpus one by one but skip those cpus > + * when @skip_func is valid and returns true for them. > + */ > +static int tdx_on_each_cpu_cond(int (*func)(void *), void *func_data, > + bool (*skip_func)(int cpu, void *), > + void *skip_data) I only see one caller of this. Where is the duplicated code?