From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1760222AbcLRDOq (ORCPT ); Sat, 17 Dec 2016 22:14:46 -0500 Received: from shards.monkeyblade.net ([184.105.139.130]:48176 "EHLO shards.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1759477AbcLRDOp (ORCPT ); Sat, 17 Dec 2016 22:14:45 -0500 Date: Sat, 17 Dec 2016 22:14:42 -0500 (EST) Message-Id: <20161217.221442.430708127662119954.davem@davemloft.net> To: mike.kravetz@oracle.com Cc: sparclinux@vger.kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, bob.picco@oracle.com, nitin.m.gupta@oracle.com, vijay.ac.kumar@oracle.com, julian.calaby@gmail.com, adam.buchbinder@gmail.com, kirill.shutemov@linux.intel.com, mhocko@suse.com, akpm@linux-foundation.org Subject: Re: [RFC PATCH 04/14] sparc64: load shared id into context register 1 From: David Miller In-Reply-To: <1481913337-9331-5-git-send-email-mike.kravetz@oracle.com> References: <1481913337-9331-1-git-send-email-mike.kravetz@oracle.com> <1481913337-9331-5-git-send-email-mike.kravetz@oracle.com> X-Mailer: Mew version 6.7 on Emacs 25.1 / Mule 6.0 (HANACHIRUSATO) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.5.12 (shards.monkeyblade.net [149.20.54.216]); Sat, 17 Dec 2016 18:15:26 -0800 (PST) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Mike Kravetz Date: Fri, 16 Dec 2016 10:35:27 -0800 > In current code, only context ID register 0 is set and used by the MMU. > On sun4v platforms that support MMU shared context, there is an additional > context ID register: specifically context register 1. When searching > the TLB, the MMU will find a match if the virtual address matches and > the ID contained in context register 0 -OR- context register 1 matches. > > Load the shared context ID into context ID register 1. Care must be > taken to load register 1 after register 0, as loading register 0 > overwrites both register 0 and 1. Modify code loading register 0 to > also load register one if applicable. > > Signed-off-by: Mike Kravetz You can't make these register accesses if the feature isn't being used. Considering the percentage of applications which will actually use this thing, incuring the overhead of even loading the shared context register is simply unacceptable.