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