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 11900C433EF for ; Fri, 15 Jul 2022 08:03:27 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 62BFB9401D6; Fri, 15 Jul 2022 04:03:27 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 5DB0A9401A5; Fri, 15 Jul 2022 04:03:27 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 4A1E89401D6; Fri, 15 Jul 2022 04:03:27 -0400 (EDT) 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 373259401A5 for ; Fri, 15 Jul 2022 04:03:27 -0400 (EDT) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 0FF403580A for ; Fri, 15 Jul 2022 08:03:27 +0000 (UTC) X-FDA: 79688594454.06.3871377 Received: from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com [148.163.156.1]) by imf03.hostedemail.com (Postfix) with ESMTP id 9490C20048 for ; Fri, 15 Jul 2022 08:03:26 +0000 (UTC) Received: from pps.filterd (m0098409.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 26F7MnnW027336; Fri, 15 Jul 2022 08:03:25 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=date : from : to : cc : subject : message-id : references : mime-version : content-type : in-reply-to; s=pp1; bh=NBUwyhowEQys1JjcN3CXThBF5Vo7fLtS996n4hCauS0=; b=MhWfDJCyvHcSth21Rn7xjUnahD+hrqLjCqxKUGMYRlxoVU50vVWC41nAX8pCblOkmw5q Hdpu972eNHmoPK0J+gEmnI+XIYTLjsV4mxanurxtyteik8h7BbVrWbG9/cqDsUOu5i// 80xYZJvCAgzm4xBrRJ7hZ8aG2S89qAq4AxvffxrMXvO65pDpGdqEUycRYvYwkgRMyaIx 9+Xvwkt8h6h3q7Fg7V1hozIDDsoyUPSlEnkc0Pj0ESmL/4PgvfWDv21MOykm/vJP3kIN Jm8OXzTOPjhR2uw3fwkO+Qt3gsb5E0uhwG3Mz7HT+Lx56GX2s15i0K+iE4UHidQdBMEH qA== Received: from ppma03ams.nl.ibm.com (62.31.33a9.ip4.static.sl-reverse.com [169.51.49.98]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3hb3t1gtnh-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 15 Jul 2022 08:03:25 +0000 Received: from pps.filterd (ppma03ams.nl.ibm.com [127.0.0.1]) by ppma03ams.nl.ibm.com (8.16.1.2/8.16.1.2) with SMTP id 26F7wVKS017500; Fri, 15 Jul 2022 08:03:23 GMT Received: from b06cxnps3074.portsmouth.uk.ibm.com (d06relay09.portsmouth.uk.ibm.com [9.149.109.194]) by ppma03ams.nl.ibm.com with ESMTP id 3h71a903yg-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 15 Jul 2022 08:03:22 +0000 Received: from d06av23.portsmouth.uk.ibm.com (d06av23.portsmouth.uk.ibm.com [9.149.105.59]) by b06cxnps3074.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 26F83Jxo13500694 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 15 Jul 2022 08:03:19 GMT Received: from d06av23.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id B4B10A404D; Fri, 15 Jul 2022 08:03:19 +0000 (GMT) Received: from d06av23.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 9F1E3A4040; Fri, 15 Jul 2022 08:03:19 +0000 (GMT) Received: from vela (unknown [9.145.26.36]) by d06av23.portsmouth.uk.ibm.com (Postfix) with ESMTPS; Fri, 15 Jul 2022 08:03:19 +0000 (GMT) Received: from brueckner by vela with local (Exim 4.94.2) (envelope-from ) id 1oCGI9-0002ga-SE; Fri, 15 Jul 2022 10:03:17 +0200 Date: Fri, 15 Jul 2022 10:03:17 +0200 From: Hendrik Brueckner To: Heiko Carstens Cc: Steffen Eiden , Alexander Gordeev , Christian Borntraeger , Janosch Frank , Claudio Imbrenda , Vasily Gorbik , linux-s390@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, nrb@linux.ibm.com Subject: Re: [PATCH 1/3] s390/cpufeature: rework to allow more than only hwcap bits Message-ID: References: <20220712105220.325010-1-seiden@linux.ibm.com> <20220712105220.325010-2-seiden@linux.ibm.com> <4132ba2a-f5ad-25ba-7f74-72369b8a140b@linux.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-TM-AS-GCONF: 00 X-Proofpoint-GUID: OIzIy2TV7U-wGyj2fSInnTs3SmfU5BgO X-Proofpoint-ORIG-GUID: OIzIy2TV7U-wGyj2fSInnTs3SmfU5BgO X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.883,Hydra:6.0.517,FMLib:17.11.122.1 definitions=2022-07-15_02,2022-07-14_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxscore=0 mlxlogscore=999 impostorscore=0 phishscore=0 adultscore=0 malwarescore=0 clxscore=1015 lowpriorityscore=0 spamscore=0 priorityscore=1501 bulkscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2206140000 definitions=main-2207150034 ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1657872206; a=rsa-sha256; cv=none; b=gKU6scJGOPp4b8n1pJMbPUSHDZNMjb1ibCy4UN4kdBXqhdDBnFsDG9FmeFUn+VPvmj0DUk G8xG5KY4k9ik8a3mWWFGHc5cGEBlGP4B6KYFgQiqJqWZDPldgVP0iwor384a5I+V/0lB45 qcvN/HOseqwCQDwB44QXzjxUD5s20YY= ARC-Authentication-Results: i=1; imf03.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b=MhWfDJCy; spf=pass (imf03.hostedemail.com: domain of brueckner@linux.ibm.com designates 148.163.156.1 as permitted sender) smtp.mailfrom=brueckner@linux.ibm.com; dmarc=pass (policy=none) header.from=ibm.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1657872206; 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=NBUwyhowEQys1JjcN3CXThBF5Vo7fLtS996n4hCauS0=; b=shQzWfywbx22wPbl3Vyr2ddafkx8UALQCIuROh5uqZLdWSMzT+i0LKlXgdcD/X6rmx6j6+ q/89YFNDyE1H0gYOEo6KgXAi9It1OhxvDDrf6cCixp3kFexF8zOi7uC9rOv75e1c0LxGHb bRc20xJyj/jodmQ+XwirFZVAHWBRAmY= X-Rspam-User: X-Rspamd-Queue-Id: 9490C20048 Authentication-Results: imf03.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b=MhWfDJCy; spf=pass (imf03.hostedemail.com: domain of brueckner@linux.ibm.com designates 148.163.156.1 as permitted sender) smtp.mailfrom=brueckner@linux.ibm.com; dmarc=pass (policy=none) header.from=ibm.com X-Rspamd-Server: rspam04 X-Stat-Signature: zoygtq9rhfiycjmbi3uzw5hy49xs5u47 X-HE-Tag: 1657872206-830539 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 Thu, Jul 14, 2022 at 12:52:25PM +0200, Heiko Carstens wrote: > > > > +static struct s390_cpu_feature s390_cpu_features[MAX_CPU_FEATURES] = { > > > > + [S390_CPU_FEATURE_ESAN3] = {.type = TYPE_HWCAP, .num = HWCAP_NR_ESAN3}, > > > > + [S390_CPU_FEATURE_ZARCH] = {.type = TYPE_HWCAP, .num = HWCAP_NR_ZARCH}, > ... > > > I only realized now that you added all HWCAP bits here. It was > > > intentional that I added only the two bits which are currently used > > > for several reasons: > > > > > > - Keep the array as small as possible. > > > - No need to keep this array in sync with HWCAPs, if new ones are added. > > > - There is a for loop in print_cpu_modalias() which iterates over all > > > MAX_CPU_FEATURES entries; this should be as fast as possible. Adding > > > extra entries burns cycles for no added value. > > The loop in print_cpu_modalias() was the reason why I added all > > current HWCAPs. The current implementation runs through all HWCAPs > > using cpu_have_feature() and I feared that reducing to just MSA and > > VXRS has effects in the reporting of CPU-features to userspace. > > > > I double checked the output of 'grep features /proc/cpuinfo' and it > > stays the same, for 5.19-rc6, 5.19-rc6+this series, 5.19-rc6+this series > > with just the two S390_CPU_FEATUREs. I might have misunderstood what happens > > in that loop in print_cpu_modalias(). > > It is used on cpu hotplug to generate a MODALIAS environment > variable. You can check that by running "udevadm monitor -p" > and then switching a cpu off/on. > > This environment variable is then used by systemd/udev to load > feature matching modules via kmod. See also some notes on the cpu feature in KRN1305 spec (introduced w/ VX support).