lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Mon, 6 Apr 2009 09:21:11 +0200
From:	Martin Schwidefsky <schwidefsky@...ibm.com>
To:	Jeremy Fitzhardinge <jeremy@...p.org>
Cc:	Rik van Riel <riel@...hat.com>, akpm@...l.org,
	Nick Piggin <nickpiggin@...oo.com.au>, frankeh@...son.ibm.com,
	virtualization@...ts.osdl.org, linux-kernel@...r.kernel.org,
	virtualization@...ts.linux-foundation.org, linux-mm@...ck.org,
	hugh@...itas.com, Xen-devel <xen-devel@...ts.xensource.com>
Subject: Re: [patch 0/6] Guest page hinting version 7.

On Fri, 03 Apr 2009 11:19:24 -0700
Jeremy Fitzhardinge <jeremy@...p.org> wrote:

> Martin Schwidefsky wrote:
> > This is the basic idea of guest page hinting. Let the host memory
> > manager make it decision based on the data it has. That includes page
> > age determined with a global LRU list, page age determined with a
> > per-guest LRU list, i/o rates of the guests, all kind of policy which
> > guest should have how much memory.
> 
> Do you look at fault rates?  Refault rates?

That is hidden in the memory management of z/VM. I know some details
how the z/VM page manager works but in the end I don't care as the
guest operating system.

> >  The page hinting comes into play
> > AFTER the decision has been made which page to evict. Only then the host
> > should look at the volatile vs. stable page state and decide what has
> > to be done with the page. If it is volatile the host can throw the page
> > away because the guest can recreate it with LESS effort. That is the
> > optimization.
> >   
> 
> Yes, and its good from that perspective.   Do you really implement it 
> purely that way, or do you bias the LRU to push volatile and free pages 
> down the end of the LRU list in preference to pages which must be 
> preserved?  If you have a small bias then you can prefer to evict easily 
> evictable pages compared to their near-equivalents which require IO.

We though about a bias to prefer volatile pages but in the end decided
against it. We do prefer free pages, if the page manager finds a unused
page it will reuse it immediately.

> > But with page hinting you don't have to even ask. Just take the pages
> > if you need them. The guest already told you that you can have them by
> > setting the unused state.
> >   
> 
> Yes.  But it still depends on the guest.  A very helpful guest could 
> deliberately preswap pages so that it can mark them as volatile, whereas 
> a less helpful one may keep them persistent and defer preswapping them 
> until there's a good reason to do so.  Host swapping and page hinting 
> won't put any apparent memory pressure on the guest, so it has no reason 
> to start preswapping even if the overall system is under pressure.  
> Ballooning will expose each guest to its share of the overall system 
> memory pressure, so they can respond appropriately (one hopes).

Why should the guest want to do preswapping? It is as expensive for
the host to swap a page and get it back as it is for the guest (= one
write + one read). It is a waste of cpu time to call into the guest. You
need something we call PFAULT though: if a guest process hits a page
that is missing in the host page table you don't want to stop the
virtual cpu until the page is back. You notify the guest that the host
page is missing. The process that caused the fault is put to sleep
until the host retrieved the page again. You will find the pfault code
for s390 in arch/s390/mm/fault.c

So to me preswap doesn't make sense. The only thing you can gain by
putting memory pressure on the guest is to free some of the memory that
is used by the kernel for dentries, inodes, etc. 

-- 
blue skies,
   Martin.

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

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ