Thanks Martin, 

I almost gave up hope on HughPages due to all our zLinux Guests run
under zVM, and we like using zVM to control the swapping as best as
possible. I do have two follow-up questions:

1) Can you point me to any reference material dealing with HugePages
with zVM (v6.1) where I can start my "homework" on the topic? I did a
search online of IBM zVM 6.1 doc on HugePages, Large Pages and came up
with nothing.

 

2) What is required or needs to be done to enable edat in zLinux from
the zVM side? Again, would you be able to point me to any doc in the zVM
side? How do we get the "edat facility", is it hardware or a setting in
either the SE or HMC with the LPAR definition, or in the IODF? 

 

James Chaplin

Systems Programmer, MVS, zVM & zLinux

 

-----Original Message-----
From: Linux on 390 Port [mailto:LINUX-390@VM.MARIST.EDU] On Behalf Of
Martin Schwidefsky
Sent: Friday, September 02, 2011 4:11 AM
To: LINUX-390@VM.MARIST.EDU
Subject: Re: HugePage support with RHEL

 

On Thu, 1 Sep 2011 15:01:52 -0400

Brad Hinson <bhin...@redhat.com> wrote:

 

> Hi James,

> 

> It appears that in order to use hardware large page support,

> Linux must be running in LPAR mode.  I can't find anything that

> says this is supported in z/VM.  Hopefully someone can correct

> me if I'm wrong.  I can confirm that on a z10 under z/VM 6.1

> I also do not see 'edat' in /proc/cpuinfo, so hugepage support

> is emulated in software.

 

You can use large pages in LPAR and under z/VM. In LPAR we have "real"
large pages if we have the edat facility. If there is no

edat facility or if we are running under z/VM we use large page
emulation.

 

There are two benefits to using hugepages:

1) The TLB pressure in reduced by using 1MB frames. To get this 

   benefit the edat facility is required since this needs the

   large page segment table entries. No love here for z/VM.

2) The memory savings due to the reduced number of page tables.

   There are two cases:

2a) under LPAR with edat the 1MB frames are directly referenced

    by the segment table entry, the lowest page table level is

    not allocated at all.

2b) under z/VM there is no edat facility and no large page

    segment table entries. Here a single page table for the 1MB

    frame is allocated which is shared by all users of the large

    page.

 

The page table overhead to map 2GB of memory:

i) without large pages: 1 segment table, 2048 page tables

ii) with large page emulation: 1 segment table, 1 page table

iii) with edat large pages: 1 segment table

 

In numbers i) 4112 KB, ii) 18 KB, and iii) 16 KB. This number is per
process. If your database uses processes for its transactions and maps
large share memory areas the memory

savings quickly add up.

If you have e.g. 128 processes mapping 2GB you'll need for case i) 514
MB, ii) 2.25 MB, and iii) 2 MB.

 

--

blue skies,

   Martin.

 

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

 

----------------------------------------------------------------------

For LINUX-390 subscribe / signoff / archive access instructions,

send email to lists...@vm.marist.edu with the message: INFO LINUX-390 or
visit

http://www.marist.edu/htbin/wlvindex?LINUX-390

----------------------------------------------------------------------

For more information on Linux on System z, visit

http://wiki.linuxvm.org/

 


----------------------------------------------------------------------
For LINUX-390 subscribe / signoff / archive access instructions,
send email to lists...@vm.marist.edu with the message: INFO LINUX-390 or visit
http://www.marist.edu/htbin/wlvindex?LINUX-390
----------------------------------------------------------------------
For more information on Linux on System z, visit
http://wiki.linuxvm.org/

Reply via email to