Received: by 2002:a05:6a10:22f:0:0:0:0 with SMTP id 15csp3405336pxk; Mon, 7 Sep 2020 11:57:24 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxljxupBDqIroYhZzkEySQOA5NjGF+F47tbjRYE5QE1wMtaGwrMIYFajbBdh3KayIWbSxSc X-Received: by 2002:a05:6402:1717:: with SMTP id y23mr26988edu.112.1599505044668; Mon, 07 Sep 2020 11:57:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1599505044; cv=none; d=google.com; s=arc-20160816; b=e7gLjN0qxBYaw2etq/mK80IIqWhoSqeV4aOJOZjXHQMP+nD5mbs1K3jf6ShbgCVN3o +cl6hhAW6nqSk5vn7orAmVokqjNO2tzqwgUTxE7d3zJ1Pjjah+E6lE73ecoH9Zs9VaQf iey8YmH5wP9vDsWSI0n6nLtmugZGrBg1OCK7MkFREsDKDnhFig+lSkV+MHnh04++neo8 XmKPcZpFcbuohZbFfvHwtfdhQ68sW1aUeNt8uBsvPsvTnuml+yugCllscfMepC/NVYRX 7UuEgE+0Vmq3KJxUstVpQZrs9OpcX380fxcRyMPEWUUZaL2eP2FyWv3fd2egNbOyPVoo 3IhQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:references:subject:cc:to :from:date:user-agent:message-id:dkim-signature; bh=H+cdkTz6AIUSAUqLFeeWxJgkuKFgtRS7QFH3d08OKZQ=; b=YluTZyEgzCyxVvv9pskozHpw9XPnjHfbsFPH1homH2FSNZMjaL7pDx9CHMLv2K5upG 7x7OyfDvBX+dbD7JG6uL8D9FPTiDzUjTSnc1Mi1Nw92/Y2Q7PK9sWml3BTUene6leyHe VmQiAReaWwFPZvZpwXXBNGCnVmyEw8IiMyuJGFFFeSbRc/NpSFKOqAzRFmoz+0ESH+NW nRNPvF6Tnyl/DPDVDMCvLNG5NkcKEwwk3Q/8N8gDHkB2VEYurcZvBZyga0uujRf4LNcs Gq9o134by31XcnKawcVDURNh8xkfIQ1lG/OzMGn5UJpKsNwpB8O4wmVwUXktgxjy+bFk 21Nw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@hpe.com header.s=pps0720 header.b=dJ8ETu0F; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=hpe.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id d9si10101359edv.452.2020.09.07.11.57.02; Mon, 07 Sep 2020 11:57:24 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@hpe.com header.s=pps0720 header.b=dJ8ETu0F; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=hpe.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729654AbgIGSz0 (ORCPT + 99 others); Mon, 7 Sep 2020 14:55:26 -0400 Received: from mx0a-002e3701.pphosted.com ([148.163.147.86]:45272 "EHLO mx0a-002e3701.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729396AbgIGSzG (ORCPT ); Mon, 7 Sep 2020 14:55:06 -0400 Received: from pps.filterd (m0134422.ppops.net [127.0.0.1]) by mx0b-002e3701.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id 087IpMOA024433; Mon, 7 Sep 2020 18:54:35 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hpe.com; h=message-id : date : from : to : cc : subject : references : mime-version : content-type; s=pps0720; bh=H+cdkTz6AIUSAUqLFeeWxJgkuKFgtRS7QFH3d08OKZQ=; b=dJ8ETu0Fi3ofa2r/D6y+LlXcJX9Axxu8g0s0rbD/uFOLT0y/Wb+rE4rtcfXQncAwsKmW xRNAafIDzpSTvfw9I0AeEVHDkqtPuj6B+nW3U0TXSRBA1eyT5WjiHEgtyvxHMlbMxQ78 AmLHMZ5yt7bZ6Vzt7lpZ6j4sqWW2HTADr8eysNt5KeaJx3XI0Z7cXR0XtkMNvoJfY+Js wqo9zkMQoSuGykomEtOT7mi6Zx79Vflydick2WUsmrtcbFSM+Uo7osOlFYyHtGflsqNY EEOi2hIGU2VTxELNMnITJDoOSz4QWBFiIhOn4pANXbL8fGNXk5iWRpEZ8UoQJTsAjGdW /Q== Received: from g9t5009.houston.hpe.com (g9t5009.houston.hpe.com [15.241.48.73]) by mx0b-002e3701.pphosted.com with ESMTP id 33cmd54fdh-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 07 Sep 2020 18:54:35 +0000 Received: from dog.eag.rdlabs.hpecorp.net (dog.eag.rdlabs.hpecorp.net [128.162.243.181]) by g9t5009.houston.hpe.com (Postfix) with ESMTP id F309058; Mon, 7 Sep 2020 18:54:32 +0000 (UTC) Received: by dog.eag.rdlabs.hpecorp.net (Postfix, from userid 5508) id 6B27130060F12; Mon, 7 Sep 2020 13:54:31 -0500 (CDT) Message-ID: <20200907185431.351814173@hpe.com> User-Agent: quilt/0.66 Date: Mon, 07 Sep 2020 13:54:40 -0500 From: Mike Travis To: Thomas Gleixner , Ingo Molnar , Borislav Petkov , x86@kernel.org, Steve Wahl , Dave Hansen , Andy Lutomirski , Peter Zijlstra , Arnd Bergmann , Greg Kroah-Hartman Cc: Dimitri Sivanich , "H. Peter Anvin" , Russ Anderson , Darren Hart , Andy Shevchenko , Alexandre Chartre , Jian Cai , Vitaly Kuznetsov , linux-kernel@vger.kernel.org, platform-driver-x86@vger.kernel.org Subject: [PATCH 10/12] x86/platform/uv: Update Node Present Counting References: <20200907185430.363197758@hpe.com> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-15 X-HPE-SCL: -1 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.235,18.0.687 definitions=2020-09-07_11:2020-09-07,2020-09-07 signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxscore=0 lowpriorityscore=0 mlxlogscore=999 malwarescore=0 spamscore=0 bulkscore=0 phishscore=0 adultscore=0 clxscore=1015 impostorscore=0 suspectscore=0 priorityscore=1501 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2006250000 definitions=main-2009070181 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The changes in the UV5 arch shrunk the NODE PRESENT table to just 2x64 entries (128 total) so are in to 64 bit MMRs instead of a depth of 64 bits in an array. Adjust references when counting up the nodes present. Signed-off-by: Mike Travis Reviewed-by: Dimitri Sivanich Reviewed-by: Steve Wahl --- arch/x86/kernel/apic/x2apic_uv_x.c | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) --- linux.orig/arch/x86/kernel/apic/x2apic_uv_x.c +++ linux/arch/x86/kernel/apic/x2apic_uv_x.c @@ -1437,20 +1437,32 @@ static int __init decode_uv_systab(void) /* Set up physical blade translations from UVH_NODE_PRESENT_TABLE */ static __init void boot_init_possible_blades(struct uv_hub_info_s *hub_info) { + unsigned long np; int i, uv_pb = 0; - pr_info("UV: NODE_PRESENT_DEPTH = %d\n", UVH_NODE_PRESENT_TABLE_DEPTH); - for (i = 0; i < UVH_NODE_PRESENT_TABLE_DEPTH; i++) { - unsigned long np; - - np = uv_read_local_mmr(UVH_NODE_PRESENT_TABLE + i * 8); - if (np) + if (UVH_NODE_PRESENT_TABLE) { + pr_info("UV: NODE_PRESENT_DEPTH = %d\n", + UVH_NODE_PRESENT_TABLE_DEPTH); + for (i = 0; i < UVH_NODE_PRESENT_TABLE_DEPTH; i++) { + np = uv_read_local_mmr(UVH_NODE_PRESENT_TABLE + i * 8); pr_info("UV: NODE_PRESENT(%d) = 0x%016lx\n", i, np); - + uv_pb += hweight64(np); + } + } + if (UVH_NODE_PRESENT_0) { + np = uv_read_local_mmr(UVH_NODE_PRESENT_0); + pr_info("UV: NODE_PRESENT_0 = 0x%016lx\n", np); + uv_pb += hweight64(np); + } + if (UVH_NODE_PRESENT_1) { + np = uv_read_local_mmr(UVH_NODE_PRESENT_1); + pr_info("UV: NODE_PRESENT_1 = 0x%016lx\n", np); uv_pb += hweight64(np); } if (uv_possible_blades != uv_pb) uv_possible_blades = uv_pb; + + pr_info("UV: number nodes/possible blades %d\n", uv_pb); } static void __init build_socket_tables(void)