Re: RFC: stop having a single global page size

2014-01-31 Thread Matt Thomas
On Jan 31, 2014, at 11:46 AM, Martin Husemann wrote: > On Fri, Jan 31, 2014 at 03:03:21PM +, Justin Cormack wrote: >> Linux maps the kernel with 4MB pages to save TLB entries too, I believe. > > Yes, we do that too, but I guess wired kernel memory does not really > count for Matt's proposal

Re: RFC: stop having a single global page size

2014-01-31 Thread Martin Husemann
On Fri, Jan 31, 2014 at 03:03:21PM +, Justin Cormack wrote: > Linux maps the kernel with 4MB pages to save TLB entries too, I believe. Yes, we do that too, but I guess wired kernel memory does not really count for Matt's proposal. Sparc64 actually uses 4M, 64kb and 8kb pages for various wired

Re: RFC: stop having a single global page size

2014-01-31 Thread Justin Cormack
On Fri, Jan 31, 2014 at 9:14 AM, Martin Husemann wrote: > On Fri, Jan 31, 2014 at 12:59:15AM -0800, Matt Thomas wrote: >> Why would anyone want this? Say you have a system in which the MMU can have >> per translation table page sizes. a 16KB page size might be desirable for >> the >> kernel and

Re: RFC: stop having a single global page size

2014-01-31 Thread Masanobu SAITOH
(2014/01/31 18:14), Martin Husemann wrote: On Fri, Jan 31, 2014 at 12:59:15AM -0800, Matt Thomas wrote: Why would anyone want this? Say you have a system in which the MMU can have per translation table page sizes. a 16KB page size might be desirable for the kernel and for LP64 processes. If y

Re: RFC: stop having a single global page size

2014-01-31 Thread Martin Husemann
On Fri, Jan 31, 2014 at 12:59:15AM -0800, Matt Thomas wrote: > Why would anyone want this? Say you have a system in which the MMU can have > per translation table page sizes. a 16KB page size might be desirable for the > kernel and for LP64 processes. If you are running a ILP32 process, possibly

RFC: stop having a single global page size

2014-01-31 Thread Matt Thomas
Instead of the system sharing a common page size, the page size would be dependent on what the pmap for that address range wants. Note that different processes (vmspaces) could have different page sizes. The kernel could have a different page than user processes. NBPG/PAGE_SIZE as globals wou