From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Luck, Tony" Date: Mon, 04 Mar 2019 19:06:37 +0000 Subject: Re: [PATCH v3 08/34] ia64: mm: Add p?d_large() definitions Message-Id: <20190304190637.GA13947@agluck-desk> List-Id: References: <20190227170608.27963-1-steven.price@arm.com> <20190227170608.27963-9-steven.price@arm.com> <20190301215728.nk7466zohdlgelcb@kshutemo-mobl1> <15100043-26e4-2ee1-28fe-101e12f74926@arm.com> In-Reply-To: <15100043-26e4-2ee1-28fe-101e12f74926@arm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: Steven Price Cc: "Kirill A. Shutemov" , Mark Rutland , linux-ia64@vger.kernel.org, Peter Zijlstra , Catalin Marinas , Dave Hansen , Will Deacon , linux-mm@kvack.org, "H. Peter Anvin" , "Liang, Kan" , x86@kernel.org, Ingo Molnar , Fenghua Yu , Arnd Bergmann , =?iso-8859-1?B?Suly9G1l?= Glisse , Borislav Petkov , Andy Lutomirski , Thomas Gleixner , linux-arm-kernel@lists.infradead.org, Ard Biesheuvel , linux-kernel@vger.kernel.org, James Morse On Mon, Mar 04, 2019 at 01:16:47PM +0000, Steven Price wrote: > On 01/03/2019 21:57, Kirill A. Shutemov wrote: > > On Wed, Feb 27, 2019 at 05:05:42PM +0000, Steven Price wrote: > >> walk_page_range() is going to be allowed to walk page tables other than > >> those of user space. For this it needs to know when it has reached a > >> 'leaf' entry in the page tables. This information is provided by the > >> p?d_large() functions/macros. > >> > >> For ia64 leaf entries are always at the lowest level, so implement > >> stubs returning 0. > > > > Are you sure about this? I see pte_mkhuge defined for ia64 and Kconfig > > contains hugetlb references. > > > > I'm not completely familiar with ia64, but my understanding is that it > doesn't have the situation where a page table walk ends early - there is > always the full depth of entries. The p?d_huge() functions always return 0. > > However my understanding is that it does support huge TLB entries, so > when populating the TLB a region larger than a standard page can be mapped. > > I'd definitely welcome review by someone more familiar with ia64 to > check my assumptions. ia64 has several ways to manage page tables. The one used by Linux has multi-level table walks like other architectures, but we don't allow mixing of different page sizes within a "region" (there are eight regions selected by the high 3 bits of the virtual address). Is the series in some GIT tree that I can pull, rather than tracking down all 34 pieces? I can try it out and see if things work/break. -Tony