From patchwork Fri Nov 20 09:13:57 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: chenhui zhao X-Patchwork-Id: 546855 X-Patchwork-Delegate: scottwood@freescale.com Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from lists.ozlabs.org (lists.ozlabs.org [103.22.144.68]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 31837140D5F for ; Fri, 20 Nov 2015 20:31:37 +1100 (AEDT) Received: from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3]) by lists.ozlabs.org (Postfix) with ESMTP id 138401A039E for ; Fri, 20 Nov 2015 20:31:37 +1100 (AEDT) X-Original-To: linuxppc-dev@lists.ozlabs.org Delivered-To: linuxppc-dev@lists.ozlabs.org Received: from na01-by2-obe.outbound.protection.outlook.com (mail-by2on0141.outbound.protection.outlook.com [207.46.100.141]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id A4BB41A00C8 for ; Fri, 20 Nov 2015 20:28:03 +1100 (AEDT) Received: from BY2PR03CA008.namprd03.prod.outlook.com (10.255.93.25) by BLUPR03MB1475.namprd03.prod.outlook.com (10.163.81.17) with Microsoft SMTP Server (TLS) id 15.1.325.17; Fri, 20 Nov 2015 09:13:34 +0000 Received: from BL2FFO11OLC007.protection.gbl (10.255.93.4) by BY2PR03CA008.outlook.office365.com (10.255.93.25) with Microsoft SMTP Server (TLS) id 15.1.325.17 via Frontend Transport; Fri, 20 Nov 2015 09:13:34 +0000 Authentication-Results: spf=permerror (sender IP is 192.88.158.2) smtp.mailfrom=freescale.com; freescale.mail.onmicrosoft.com; dkim=none (message not signed) header.d=none; freescale.mail.onmicrosoft.com; dmarc=none action=none header.from=freescale.com; Received-SPF: PermError (protection.outlook.com: domain of freescale.com used an invalid SPF mechanism) Received: from az84smr01.freescale.net (192.88.158.2) by BL2FFO11OLC007.mail.protection.outlook.com (10.173.160.142) with Microsoft SMTP Server (TLS) id 15.1.331.11 via Frontend Transport; Fri, 20 Nov 2015 09:13:33 +0000 Received: from localhost.localdomain ([10.193.20.174]) by az84smr01.freescale.net (8.14.3/8.14.0) with ESMTP id tAK9DUPZ015178; Fri, 20 Nov 2015 02:13:31 -0700 From: Chenhui Zhao To: Subject: [PATCH v3 1/6] powerpc/mm: any thread in one core can be the first to setup TLB1 Date: Fri, 20 Nov 2015 17:13:57 +0800 Message-ID: <1448010842-22345-1-git-send-email-chenhui.zhao@freescale.com> X-Mailer: git-send-email 1.9.1 X-EOPAttributedMessage: 0 X-Microsoft-Exchange-Diagnostics: 1; BL2FFO11OLC007; 1:cPAUwiBOwrp/ATQzfK2rBGVlyz5OgC8Mev92uhRbMfC+0yP5M3HD5TUzGzQXTqEjeSKkLihCfzP8J95Das22xXfmypgr+88A+YAeqbcfNiM8Oa3G3+o96FX2DYjXJExxyE+c9UFMi54K+f2kAPOazITzqJ71pKoh7jHznwKDGKlu1thpz/LVpTD7Cc358k6r1FmGKF/332vaYpJD99m3YRdlV0LZ22rAugQHXDGGQriEbAxwPfhCIyx1nAs3En7rTTGZJ0k0ezzN9gH1StyLTcqVK/tq26IuUJNNPnhHx/+5SKtiracNd9+cUfjpXTIGBF1vVl0f+gODVykuXqQAKu5SiKwcobMQkZTkBbCtlXX1SqlUP1o5O0M1E7rcr8cFigh3rheHwHWn3GRVCfZL77T1BpOHwQTi6Le1afrWRAA= X-Forefront-Antispam-Report: CIP:192.88.158.2; CTRY:US; IPV:NLI; EFV:NLI; SFV:NSPM; SFS:(10019020)(6009001)(2980300002)(448002)(199003)(189002)(87936001)(5008740100001)(6806005)(450100001)(107886002)(229853001)(104016004)(5007970100001)(2351001)(50986999)(50226001)(47776003)(19580405001)(33646002)(36756003)(5003940100001)(19580395003)(69596002)(189998001)(77096005)(86362001)(11100500001)(81156007)(4001430100002)(106466001)(49486002)(586003)(5001920100001)(48376002)(92566002)(50466002)(110136002)(97736004)(85326001)(5001960100002); DIR:OUT; SFP:1102; SCL:1; SRVR:BLUPR03MB1475; H:az84smr01.freescale.net; FPR:; SPF:PermError; PTR:InfoDomainNonexistent; A:1; MX:1; LANG:en; MIME-Version: 1.0 X-Microsoft-Exchange-Diagnostics: 1; BLUPR03MB1475; 2:BqFYOx0JqItZ7vDRM9B9uryXBUh4s7hy89mftuErlt20JPBuBi32Y2knwyuPnFOl0waKKud2IfcGMeJCUrEEX62rF4UDauXZW+FfrsgpR0RQbe0cJ9ypxX3TGrStBNL0n/qFdX4b08WeKcYMzBKkqjSQ74nZvqBT2c2aTmJHUAM=; 3:6H3b8Qi0qPGnHy0tFpld3Jc1pPt7sUuYtf5AvfXw6glYXhvR5jZRu6vKdP0QDnb5rEr1tNEhgTeecDuKisCu4RAxOC34Wdfv/xDyMxRMJ+fb3Ov/jOnLXJiJEXuckPQKszacdg98Feb2zAp12Z40+Eg3Nkbx0B2XVCZ4PA21dOEhT927m9zdi6qMR5ew9RR9KP0vDCNt7KLwY2s4R48OUIW/wQYEgIkU0DIqaYmlGNs=; 25:/BhUYrF93lyQWIwR1KFqIVnBDhFmfD4o8ibpXlBFV8brhq2Ve2bMp9ppSttR0PAjtgYQYDVvABmhnVDU8RFf/YLHYO68pXa+n108OPiSTTZlXHwICT4wIDq+fu4Ocur2rEdJmyCkSNMNd3CeLMWX5hhJTl5PvkzJvGXNw922fEIfhTR9Xcdsko5Vt8dTdaJDXLK4D6Fqm7ApZ9JJ37MrnpQ+L5gsXiyhhYGkeGqnSFeUPlUZijTH8575Nlphx0AQ7z3DZGZmv3Sq7q6yWwA5SQ== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BLUPR03MB1475; X-Microsoft-Exchange-Diagnostics: 1; BLUPR03MB1475; 20:NzO/KicZzRhrqaKv1Ut72eYcac3qQb8ncsONzZWhqiQbTrZBSEAhwj+Xv98kzaC16Sq2NtkytvfZqeMU87EUs8ywO+cZaaAxK6Lg9qsQSUADI9yzsm7U8+4Y1ngKkKDuN0sgfEmXjtHkxuF562GU1HHt3jf1CoF6P9eysGR7BRTLT+ILeAcoC710m/wFGsJW561QCBiXMwedlhQxLMuNsqH34C5RHXrR8qAcvnvOX8SHFhiJqN6gHHzJ+bAAK6Ha+ARodhNRy6pFDGR4/e1GthQOOtpg/LYY9tIeVsRoLza64GTnmVS6JwVuUaEjP9BKxZzeoTPjnFHPFf9Un3ko3MyiZXZye6v20HrGmAGnfsA=; 4:x8QuhaOqOl1EsFDfh08/S04M3nd1XK1CHfErO0Z6zWPuDqBLo7UEeG0mQGFU+Of0fb63ljg4OOhFPT7Lshq0pHR2wQNi7hQmhsJ04Ojyb5fQUTr7RS33BHJw0my6fnBhGY+05Xw7/cQ1bioSvm4dBIGUD/Bu+b5utPoyU/5DyBdLoTDQ7SI/9oYVdmfzQ61tS8P1RK5vuxRmUE+YQLjBVgxruWxsVk2uI/YnFpRgFcKwkNr9XJ1JDC+iQDJFAcBKQp1d1IKk75KOQnO3a1BLew8uvgTiCo/U4hiELaKh3m7/GtiUsjoSDqo7pq4OtTb+ECoT/LoJkmACKIkpQA+2kySsg6kxSE+2Ev5vsIqd8TJtSQSjhZj6rRrb/YFds6o20zRnz0KYYq4eTD49YCcEWQ== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(101931422205132); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(2401047)(8121501046)(520078)(5005006)(10201501046)(3002001); SRVR:BLUPR03MB1475; BCL:0; PCL:0; RULEID:; SRVR:BLUPR03MB1475; X-Forefront-PRVS: 07665BE9D1 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BLUPR03MB1475; 23:XpsbzkYHSCqkDtzKzdTUzcRIfqZt8Ccq+K4T+wBGf?= =?us-ascii?Q?eM7qVafq5QSVuQ1u9RIyHyVNKh3CV4s5uyBzjqxOeSXLb4S2ZxoDTfd7MAi7?= =?us-ascii?Q?ml2xxzb/b8OLKWMHzY5G4yQx6wyfPkeRm4oviESog9IUOiv6X6Tk81RprivY?= =?us-ascii?Q?aX1Z5sMaBjYfd+BE/gDL2t7OU7MyupN28KuOZ3LDpRLjFdGhbEe+IR2Jt6li?= =?us-ascii?Q?bPhAHmL7CssaIZj3peMoNy2fefCbpjT8NMv7EER1vvbZ4HAMwnvKAErPX8wy?= =?us-ascii?Q?YLMa3Q+YNLvuTGYJ4EWH9k3J8jVeXIrjwuQUvHIH4XwB7wTxni/nZoeGBq2j?= =?us-ascii?Q?S8wIm7PA4ghZbdOH+Hdm7Vp7xk+wdIZT22CL4YDEHl6yZiRzz/rhfbEOUZvf?= =?us-ascii?Q?/rwQYFW3mXybFZCs1PM5xlKabpRInvpyVc7r20ss1VNDFN7ih6IATnjq/eQI?= =?us-ascii?Q?vZEHniZz6eZUZIsfk2hdYQqFe790ctXpTVdpFn7ga+Ov74bxC5p61Y8a8oV3?= =?us-ascii?Q?JTJvuwxA8vV+d991tQcN8PxQsTMsglahqQySRF/wAR4pYMHXMfDmuar425tD?= =?us-ascii?Q?KMj+OB1xv/3ppSY+j6bpfgtu/bJf3Y4H3SsfsBhTIU/dgUp1Se6YnyZkTAY0?= =?us-ascii?Q?IQ6B1BG7lHyU9GYP15KACx9JBvOwkiWfci18F7gbvWxpAZawUaFqphuTvHtU?= =?us-ascii?Q?OqmAqyXAQybySAEORjkQuCHxk8acz4xKI+NRIZAyPNsezQjo7sxvB5U/SkuR?= =?us-ascii?Q?TUgKSdAyM/XA3ll/BytfSutZh4PHRHHgXG3+I3Vg5iekYM8ZkAzbOyoakK6I?= =?us-ascii?Q?AJhO7YB1HXhlc7vX9lLlLrkY3QZu8cSojl1loZP/Wzp3D4trdH+HewtDrQ0c?= =?us-ascii?Q?iQdsFcl3lF1wQ1gZNAEli2/mxpiy2L+/6RaDguq5D7QplAGVhD5ReDXayUUp?= =?us-ascii?Q?EumPctkR6I0y5yL8Vrd7ehJnukx9y+FYMMWQkfU+IoIITZzLbrYtzFNmSd3J?= =?us-ascii?Q?Xld1U0sprMXB/O6+ykL58PQOD07yk6556aPFIRhj2hwhHR8op2lykDKWOoJm?= =?us-ascii?Q?SlY0z3d4+I9LChjUpGOsmR2KxhaDTRgmzKhzCSW4TGcDH/xsg=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; BLUPR03MB1475; 5:d7a8p4AFjREIGLK9w49yuohe1QvUSvF2ScJeVy1DPdLYfuQbFuynVpN1kmvDS4OXkXrTUqvtdi3lVkVdW+IpO2JHeRmW57ifywG/kbRSxfc82UQj/qaR/4LTDLl5kJY5r8oDWm/XUBj1nc14O1bxyQ==; 24:71w1vFerO4SIasAPMdL1JVYUGLw4XD93M9/3TLmA1+r0cTJm98FXsldeqvUg0GU6ObteXVhTtEaeQO/U6NPXjXJC9bOvv4riIpveTksF7Wo=; 20:Un23sMVpENlT0FLxsQq4WkVXuc9T7wozrsyIypeXs42VG6C1k135ruRx7m1U1vC+O/afLNH4Qyoh5SJcYUk4zQ== X-OriginatorOrg: freescale.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Nov 2015 09:13:33.7463 (UTC) X-MS-Exchange-CrossTenant-Id: 710a03f5-10f6-4d38-9ff4-a80b81da590d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=710a03f5-10f6-4d38-9ff4-a80b81da590d; Ip=[192.88.158.2]; Helo=[az84smr01.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLUPR03MB1475 X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: scottwood@freescale.com Errors-To: linuxppc-dev-bounces+patchwork-incoming=ozlabs.org@lists.ozlabs.org Sender: "Linuxppc-dev" On e6500, in the case of cpu hotplug, either thread in one core may be the first thread initilzing the TLB1. The subsequent threads must not setup it again. The code is derived from the comment of Scott Wood. Signed-off-by: Chenhui Zhao --- arch/powerpc/include/asm/cputhreads.h | 7 +++++++ arch/powerpc/mm/tlb_nohash.c | 4 +--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/arch/powerpc/include/asm/cputhreads.h b/arch/powerpc/include/asm/cputhreads.h index ba42e46..b56cece 100644 --- a/arch/powerpc/include/asm/cputhreads.h +++ b/arch/powerpc/include/asm/cputhreads.h @@ -94,6 +94,13 @@ static inline int cpu_last_thread_sibling(int cpu) return cpu | (threads_per_core - 1); } +static inline u32 get_tensr(void) +{ + if (cpu_has_feature(CPU_FTR_SMT)) + return mfspr(SPRN_TENSR); + else + return 1; +} #endif /* _ASM_POWERPC_CPUTHREADS_H */ diff --git a/arch/powerpc/mm/tlb_nohash.c b/arch/powerpc/mm/tlb_nohash.c index bb04e4d..f466848 100644 --- a/arch/powerpc/mm/tlb_nohash.c +++ b/arch/powerpc/mm/tlb_nohash.c @@ -640,9 +640,7 @@ static void early_init_this_mmu(void) * transient mapping would cause problems. */ #ifdef CONFIG_SMP - if (cpu != boot_cpuid && - (cpu != cpu_first_thread_sibling(cpu) || - cpu == cpu_first_thread_sibling(boot_cpuid))) + if (hweight32(get_tensr()) > 1) map = false; #endif