[comp.arch] Variable Page size

rajeevc@mipos2.intel.com (rajeev chandrasekhar) (09/27/89)

Does anybody know of some form of Unix that supports variable 
page sizes. I would be real interested in finding out more 
about something like this if it exists at all !!

Rajeev

Rajeev Chandrasekhar
Intel Corp            >> theres someone in my head, and its not me << 
2625, Walsh Ave MS SC4-59                      (408) 765-4632
Santa Clara, CA 95051  {hplabs,oliveb}!intelca!mipos2!rajeevc                      

rpeglar@csinc.UUCP (Rob Peglar x615) (09/28/89)

In article <1006@mipos3.intel.com>, rajeevc@mipos2.intel.com (rajeev chandrasekhar) writes:
> 
> Does anybody know of some form of Unix that supports variable 
> page sizes. I would be real interested in finding out more 
> about something like this if it exists at all !!

ETA System V supported variable page sizes of the form supported by the
ETA-10 hw.  This was two flavors of page, "small" and "large" - both were
selectable at boot time.  "small" was 16 or 64kB; "large" was 512kB or
2048kB.  (n.b., the 2048kB aka "giant page" was not officially supported
or tested).

If this is what "variable page sizes" means above, then yes.

An arbitrary a.out could use both sizes simultaneously.  Typical use was
small for text, large for data and bss.

Rob


...uunet!csinc!rpeglar

ingoldsb@ctycal.COM (Terry Ingoldsby) (09/28/89)

In article <1006@mipos3.intel.com>, rajeevc@mipos2.intel.com (rajeev chandrasekhar) writes:
> 
> Does anybody know of some form of Unix that supports variable 
> page sizes. I would be real interested in finding out more 

Can you be a bit more detailed?  I thought that pages were defined as
being fixed size.  How does what you want differ from segments?  On
the other hand, maybe I'm so dumb that I'm missing the question :^)



-- 
  Terry Ingoldsby                       ctycal!ingoldsb@calgary.UUCP
  Land Information Systems                           or
  The City of Calgary         ...{alberta,ubc-cs,utai}!calgary!ctycal!ingoldsb

af@spice.cs.cmu.edu (Alessandro Forin) (09/29/89)

In article <1006@mipos3.intel.com>, rajeevc@mipos2.intel.com (rajeev chandrasekhar) writes:
> 
> Does anybody know of some form of Unix that supports variable 
> page sizes. I would be real interested in finding out more 
> about something like this if it exists at all !!
> 

If you mean selecting the pagesize at boot time then Mach is one.  Any
multiple of the hardware pagesize is acceptable.  This feature is used
routinely and the machines that use a default pagesize greater than the
hardware one are probably the majority.

sandro-

b-jones@ttidca.TTI.COM (Bill Jones) (09/30/89)

What advantage does a program gain by using a page size that's greater
than the hardware's physical page size?

henry@utzoo.uucp (Henry Spencer) (09/30/89)

In article <6524@ttidca.TTI.COM> b-jones@ttidca.tti.com (Bill Jones) writes:
>What advantage does a program gain by using a page size that's greater
>than the hardware's physical page size?

Well, usually it's the kernel, not a specific program, that's involved.
The main reason for the kernel to use a larger page size is that various
forms of overhead occur on a per-page basis.  A larger page size wastes
a bit of memory but can greatly reduce overhead.

A not-insignificant side issue is that it can be very convenient if the
size of the memory pages matches the quantum of disk allocation in the
file system.
-- 
"Where is D.D. Harriman now,   |     Henry Spencer at U of Toronto Zoology
when we really *need* him?"    | uunet!attcan!utzoo!henry henry@zoo.toronto.edu

dwc@cbnewsh.ATT.COM (Malaclypse the Elder) (10/02/89)

In article <476@ctycal.UUCP>, ingoldsb@ctycal.COM (Terry Ingoldsby) writes:
> 
> Can you be a bit more detailed?  I thought that pages were defined as
> being fixed size.  How does what you want differ from segments?  On
> the other hand, maybe I'm so dumb that I'm missing the question :^)
> 
this can be viewed on two levels.  the more interesting one is the one
in which the hardware allows the software to set the size of a page for
a particular segment.  i know of cpu/mmu combinations that allow one to
select a system-wide page size from a certain set (note this differs
from software only approaches in that there is still only one page table
entry per "logical page"), but don't know of any that allow selection
of page size on a segment boundary.

danny chen
att!hocus!dwc