Re: z/VM page space

2011-06-15 Thread Bill Holder
On Tue, 14 Jun 2011 11:04:25 -0700, Schuh, Richard rsc...@visa.com wrot
e:

A good decision, probably not a difficult one, by Mr. Holder and friends
.
Untangling that can of worms should not be a high priority use of
development $$.

Regards, 
Richard Schuh 


There are, of course, other reasons one might want this (or similar)
function, such as supporting paging devices with dramatically different
response times and bandwidths - load balancing new outbound writes
which we already do) isn't really sufficient for such a scenario - 
in order to prevent the fastest devices from filling up with the 
oldest data over time, a migration function would be required to 
move those now older pages off to slower devices (since they're not 
being re-referenced, you really don't want them taking up space on 
the faster devices).  

Also, the real design issue is that there's simply not enough real 
estate to maintain backward pointers up the structures in order to 
be able to easily determine, from a paging slot (4K record) on a
paging volume back up to the owner of the page it contains - the 
storage overhead becomes astronomical rather quickly, and you don't 
want to be spending lots of storage representing things that are 
themselves paged out.  So the only way to find the pages is to run 
all of the translation structures for all virtual storage from the
top down scanning for them (this is indeed how expanded storage 
migration works, which is why ATTACH XSTORE often takes so long).  

One further comment on the idea of bootlegging the migration 
function by touching user pages - it's not just user pages that 
are out there, it's quite likely that the target paging volume 
also contains some pageable CP owned pages (especially PGMBKs), 
some of which are simply not touchable by any action from a guest.  

So even if you could figure out which users had pages on the volume, 
it would still likely be impossible to get all of the pages off of 
it.  

Anyway, there are long standing requirements open for the drain
migrate function, we know it would be useful, but thus far, there 
have always seemed to be more pressing needs.  

Bill Holder, Senior Software Engineer
IBM z/VM Development, Memory Management, Endicott, NY 
Phone:  607-429-3640


Re: z/VM page space

2011-06-14 Thread David Boyes
On 6/14/11 12:03 PM, David Boyes dbo...@sinenomine.net wrote:

I suspect that it would be possible to tweak the page device list in real
storage to remove the volume in question, run the CP page list in real
core and force a page in/page out sequence for pages on the volume in
question, but There Lie Big Nasty Dragons. There's a lot of interlocking
pieces and CP integrity is at stake, so it would not be simple code.

Hmm... 

This might not be as hard as I thought. If the volume is already drained
for new traffic (probably a safety prereq for this to happen), then
determining pages on those volumes and forcing page-in/page-out is
probably safer than previously thought. CP can maintain the appropriate
interlocks if we force CP to fault the page in, touch the page in a way
that forces CP to consider the page as dirty, and then allow the normal
page-out logic to determine the new location. It would cause a fairly
large burst in paging activity while running, but that's probably not an
big issue for the few times this would get activated.

Scratch, scratch, scratch... There's an itch in here somewhere.

-- db


Re: z/VM page space

2011-06-14 Thread Schuh, Richard
An absolute prereq, not just a safety one. If it is not already draining, then 
there would be nothing to prevent new pages from being written on the device. 
It will still be somewhat tricky because the page may already be in storage, in 
use by a virtual machine. Also,  it may be part of a DCSS, in which case, only 
your private copy (resulting from your changing the page) will be paged out by 
your activity; others will still be referencing the original page. 

Regards, 
Richard Schuh 

 

 
 
 This might not be as hard as I thought. If the volume is 
 already drained for new traffic (probably a safety prereq for 
 this to happen), then determining pages on those volumes and 
 forcing page-in/page-out is probably safer than previously 
 thought. CP can maintain the appropriate interlocks if we 
 force CP to fault the page in, touch the page in a way that 
 forces CP to consider the page as dirty, and then allow the 
 normal page-out logic to determine the new location. It would 
 cause a fairly large burst in paging activity while running, 
 but that's probably not an big issue for the few times this 
 would get activated.
 
 Scratch, scratch, scratch... There's an itch in here somewhere.
 
 -- db
 

Re: z/VM page space

2011-06-14 Thread David Boyes
On 6/14/11 1:20 PM, Schuh, Richard rsc...@visa.com wrote:

An absolute prereq, not just a safety one. If it is not already draining,
then there would be nothing to prevent new pages from being written on
the device. 

Yeah. Playing with it on the whiteboard indicated that. Probably the only
safe way to get a CP interlock in place that would prevent new pages being
written. 

It will still be somewhat tricky because the page may already be in
storage, in use by a virtual machine. Also,  it may be part of a DCSS, in
which case, only your private copy (resulting from your changing the
page) will be paged out by your activity; others will still be
referencing the original page.

I think that's why you'd have to force CP to dirty the page rather than
doing it inside a virtual machine, especially with CP's own pages
potentially written at startup. Probably only doable from inside CP
itself, or at minimum, via manipulate of real storage rather than virtual
storage. There Be Dragons.

Another project for my Copious Spare Time. Not.

-- db


 


Re: z/VM page space

2011-06-14 Thread Alan Altmark
On Tuesday, 06/14/2011 at 01:30 EDT, David Boyes dbo...@sinenomine.net 
wrote:
 
 I think that's why you'd have to force CP to dirty the page rather than
 doing it inside a virtual machine, especially with CP's own pages
 potentially written at startup. Probably only doable from inside CP
 itself, or at minimum, via manipulate of real storage rather than 
virtual
 storage. There Be Dragons.
 
 Another project for my Copious Spare Time. Not.

And now you know why DRAIN MIGRATE doesn't exist.  :-)   As Bill Holder, 
z/VM Memory Master, alludes, there are no data structures in CP that index 
the contents of paging volumes.  You would have to traverse every users' 
memory management data structures to find references to page slots on the 
drained volume.  In short, Eeeww.

Alan Altmark

z/VM and Linux on System z Consultant
IBM System Lab Services and Training 
ibm.com/systems/services/labservices 
office: 607.429.3323
mobile; 607.321.7556
alan_altm...@us.ibm.com
IBM Endicott


Re: z/VM page space

2011-06-14 Thread David Boyes
On 6/14/11 1:45 PM, Alan Altmark alan_altm...@us.ibm.com wrote:


And now you know why DRAIN MIGRATE doesn't exist.  :-)

Although SNAPDUMP does something awfully similar in concept -- there's
probably some thinking that could be borrowed there. Doing the same kind
of system suspend might be the route to building that table; again, it's
probably not going to be used that often so a few seconds of freeze while
we figure this stuff out might be OK. Beats a full IPL, anyway.


  As Bill Holder, 
z/VM Memory Master, alludes, there are no data structures in CP that
index 
the contents of paging volumes.  You would have to traverse every users'
memory management data structures to find references to page slots on the
drained volume.  In short, Eeeww.

Hmph. You guys let it out the door w/o spaying it properly...8-) Eeew,
indeed. 

-- db


Re: z/VM page space

2011-06-14 Thread Schuh, Richard
A good decision, probably not a difficult one, by Mr. Holder and friends. 
Untangling that can of worms should not be a high priority use of development 
$$.

Regards, 
Richard Schuh 

 

 -Original Message-
 From: The IBM z/VM Operating System 
 [mailto:IBMVM@LISTSERV.UARK.EDU] On Behalf Of Alan Altmark
 Sent: Tuesday, June 14, 2011 10:45 AM
 To: IBMVM@LISTSERV.UARK.EDU
 Subject: Re: z/VM page space
 
 On Tuesday, 06/14/2011 at 01:30 EDT, David Boyes 
 dbo...@sinenomine.net
 wrote:
  
  I think that's why you'd have to force CP to dirty the page rather 
  than doing it inside a virtual machine, especially with 
 CP's own pages 
  potentially written at startup. Probably only doable from inside CP 
  itself, or at minimum, via manipulate of real storage rather than
 virtual
  storage. There Be Dragons.
  
  Another project for my Copious Spare Time. Not.
 
 And now you know why DRAIN MIGRATE doesn't exist.  :-)   As 
 Bill Holder, 
 z/VM Memory Master, alludes, there are no data structures in 
 CP that index the contents of paging volumes.  You would have 
 to traverse every users' 
 memory management data structures to find references to page 
 slots on the drained volume.  In short, Eeeww.
 
 Alan Altmark
 
 z/VM and Linux on System z Consultant
 IBM System Lab Services and Training
 ibm.com/systems/services/labservices
 office: 607.429.3323
 mobile; 607.321.7556
 alan_altm...@us.ibm.com
 IBM Endicott
 

Re: z/VM page space

2011-06-14 Thread Marcy Cortes
Agree.  Those who have HA needs have more than one VM system to which to move 
the workload.


Marcy 

-Original Message-
From: The IBM z/VM Operating System [mailto:IBMVM@LISTSERV.UARK.EDU] On Behalf 
Of Schuh, Richard
Sent: Tuesday, June 14, 2011 11:04 AM
To: IBMVM@LISTSERV.UARK.EDU
Subject: Re: [IBMVM] z/VM page space

A good decision, probably not a difficult one, by Mr. Holder and friends. 
Untangling that can of worms should not be a high priority use of development 
$$.

Regards, 
Richard Schuh