Messages in this thread | | | Date | Mon, 4 Mar 2019 11:06:37 -0800 | From | "Luck, Tony" <> | Subject | Re: [PATCH v3 08/34] ia64: mm: Add p?d_large() definitions |
| |
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
| |