On Sat, 28 Nov 2009 07:26:15 -0800
Barton Robinson <[email protected]> wrote:

> Martin, please correct me if i am wrong.
> Large page support supports 1mb pages - meaning consecutive 256 4k pages
> in hardware. These pages are "fixed", are not pageable with current
> technology.  The advantage is that there is one TLB entry per megabyte
> instead of one per 4k page, so that the TLB is more efficient and more
> entries fit into the hardware cache, requiring less DAT translations.
> To get advantage then, there would have to be 1mb of very active
> programs or data packaged in that 1mb page. Operating systems could be
> packaged for this with work. zTPF took advantage of this, but that
> architecture is focused on performance, not virtualization.

Technically large pages could be swapped, the invalid bit in the
segment table entry is there. Linux does not do this because it would
be complicated and not very effective because of the packing of data
you mentioned. The main use case for large pages are large in-memory
databases.

> For oracle, it would require dedicating 256 consecutive hardware pages
> to an oracle database, running virtual under linux, running virtual
> under z/vm - yep, quite a challenge.  In a virtual environment where we
> do run many different programs - the benefit to programs and data would
> be difficult to show.

The pages that are dedicated to the large pages in the guest can be
swapped by z/VM without a problem. You could argue that these large
pages are not really large pages because of the software emulation
via shared page table pages but you do get the savings in the page
table memory which is ihmo well worth the effort.

> The benefits of large pages are to those places that can and do measure
> differences in performance at the single digit percentage difference
> (zTPF). z/VM could get a little advantage with a lot of work, linux in
> an LPAR as well. Linux under z/VM not. I would be surprised if the
> improvement was measurable in any truly virtualized environment.

There will be considerable improvement if the oracle workload uses
i) many processes and ii) large shared segments. For each process that
maps 1GB of shared memory you save 2MB in page tables.

--
blue skies,
   Martin.

"Reality continues to ruin my life." - Calvin.

----------------------------------------------------------------------
For LINUX-390 subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO LINUX-390 or visit
http://www.marist.edu/htbin/wlvindex?LINUX-390

Reply via email to