linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* Re: [PATCH] (2/2) reverse mappings for current 2.5.23 VM
       [not found] <E17Kiio-0000sO-00@starship>
@ 2002-06-19 20:09 ` Craig Kulesa
  2002-06-19 20:44   ` Daniel Phillips
  0 siblings, 1 reply; 8+ messages in thread
From: Craig Kulesa @ 2002-06-19 20:09 UTC (permalink / raw)
  To: Daniel Phillips; +Cc: Rik van Riel, linux-kernel, linux-mm

On Wed, 19 Jun 2002, Daniel Phillips wrote:

> You might conclude from the above that the lru+rmap is superior to 
> aging+rmap: while they show the same wall-clock time, lru+rmap consumes 
> considerably less disk bandwidth.  

I wouldn't draw _any_ conclusions about either patch yet, because as you 
said, it's only one type of load.  And it was a single tick in vmstat 
where page_launder() was aggressive that made the difference between the 
two.  In a different test, where I had actually *used* more of the 
application pages instead of simply closing most of the applications 
(save one, the memory hog), the results are likely to have been very 
different.  

I think that Rik's right: this simply points out that page_launder(), at 
least in its interaction with 2.5, needs some tuning.  I think both 
approaches look very promising, but each for different reasons.  

-Craig

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] (2/2) reverse mappings for current 2.5.23 VM
  2002-06-19 20:09 ` [PATCH] (2/2) reverse mappings for current 2.5.23 VM Craig Kulesa
@ 2002-06-19 20:44   ` Daniel Phillips
  0 siblings, 0 replies; 8+ messages in thread
From: Daniel Phillips @ 2002-06-19 20:44 UTC (permalink / raw)
  To: Craig Kulesa; +Cc: Rik van Riel, linux-kernel, linux-mm

On Wednesday 19 June 2002 22:09, Craig Kulesa wrote:
> I wouldn't draw _any_ conclusions about either patch yet, because as you 
> said, it's only one type of load.  And it was a single tick in vmstat 
> where page_launder() was aggressive that made the difference between the 
> two.  In a different test, where I had actually *used* more of the 
> application pages instead of simply closing most of the applications 
> (save one, the memory hog), the results are likely to have been very 
> different.  
> 
> I think that Rik's right: this simply points out that page_launder(), at 
> least in its interaction with 2.5, needs some tuning.  I think both 
> approaches look very promising, but each for different reasons.  

Indeed.

One reason for being interested in a lot more numbers and a variety of loads 
is that there's an effect, predicted by Andea, that I'm watching for:  both 
aging+rmap and lru+rmap do swapout in random order with respect to virtual 
memory, and this should in theory cause increased seeking on swap-in.  We 
didn't see any sign of such degradation vs mainline, in fact we saw a 
significant overall speedup.  It could be we just haven't got enough data 
yet, or maybe there really is more seeking for each swap-in, but the effect 
of less swapping overall is dominant.

-- 
Daniel
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] (2/2) reverse mappings for current 2.5.23 VM
  2002-06-19 17:46   ` Daniel Phillips
@ 2002-06-19 20:25     ` Craig Kulesa
  0 siblings, 0 replies; 8+ messages in thread
From: Craig Kulesa @ 2002-06-19 20:25 UTC (permalink / raw)
  To: Daniel Phillips; +Cc: linux-kernel, linux-mm

On Wed, 19 Jun 2002, Daniel Phillips wrote:

> On Wednesday 19 June 2002 13:21, Craig Kulesa wrote:
> > 2.5.22 vanilla:
>       ^^--- is this a typo?

Good eye, but no.  I was indeed comparing 2.5.22 to the 2.5.23 rmap 
patches.  I performed the same test on 2.5.23 later and its behavior is 
similar. 

-Craig

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] (2/2) reverse mappings for current 2.5.23 VM
  2002-06-19 11:21 ` Craig Kulesa
  2002-06-19 11:58   ` Rik van Riel
@ 2002-06-19 17:46   ` Daniel Phillips
  2002-06-19 20:25     ` Craig Kulesa
  1 sibling, 1 reply; 8+ messages in thread
From: Daniel Phillips @ 2002-06-19 17:46 UTC (permalink / raw)
  To: Craig Kulesa, linux-kernel; +Cc: linux-mm

On Wednesday 19 June 2002 13:21, Craig Kulesa wrote:
> 2.5.22 vanilla:
      ^^--- is this a typo?

> Total kernel swapouts during test = 29068 kB
> Total kernel swapins during test  = 16480 kB
> Elapsed time for test: 141 seconds
> 
> 2.5.23-rmap (this patch -- "rmap-minimal"):           
> Total kernel swapouts during test = 24068 kB
> Total kernel swapins during test  =  6480 kB
> Elapsed time for test: 133 seconds
> 
> 2.5.23-rmap13b (Rik's "rmap-13b complete") :
> Total kernel swapouts during test = 40696 kB
> Total kernel swapins during test  =   380 kB
> Elapsed time for test: 133 seconds

-- 
Daniel
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] (2/2) reverse mappings for current 2.5.23 VM
  2002-06-19 17:01     ` Daniel Phillips
@ 2002-06-19 17:18       ` Rik van Riel
  0 siblings, 0 replies; 8+ messages in thread
From: Rik van Riel @ 2002-06-19 17:18 UTC (permalink / raw)
  To: Daniel Phillips; +Cc: Craig Kulesa, linux-kernel, linux-mm

On Wed, 19 Jun 2002, Daniel Phillips wrote:

> > > 2.5.23-rmap (this patch -- "rmap-minimal"):
> > > Total kernel swapouts during test = 24068 kB
> > > Total kernel swapins during test  =  6480 kB
> > > Elapsed time for test: 133 seconds
> > >
> > > 2.5.23-rmap13b (Rik's "rmap-13b complete") :
> > > Total kernel swapouts during test = 40696 kB
> > > Total kernel swapins during test  =   380 kB
> > > Elapsed time for test: 133 seconds

> You might conclude from the above that the lru+rmap is superior to
> aging+rmap: while they show the same wall-clock time, lru+rmap consumes
> considerably less disk bandwidth.  Naturally, it would be premature to
> conclude this from one trial on one load.

On the contrary, aging+rmap shows a lot less swapins.

The fact that it has more swapouts than needed means
we need to fix one aspect of the thing (page_launder),
it doesn't mean we should get rid of the whole thing.

kind regards,

Rik
-- 
Bravely reimplemented by the knights who say "NIH".

http://www.surriel.com/		http://distro.conectiva.com/

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] (2/2) reverse mappings for current 2.5.23 VM
  2002-06-19 11:58   ` Rik van Riel
@ 2002-06-19 17:01     ` Daniel Phillips
  2002-06-19 17:18       ` Rik van Riel
  0 siblings, 1 reply; 8+ messages in thread
From: Daniel Phillips @ 2002-06-19 17:01 UTC (permalink / raw)
  To: Rik van Riel, Craig Kulesa; +Cc: linux-kernel, linux-mm

On Wednesday 19 June 2002 13:58, Rik van Riel wrote:
> > 2.5.22 vanilla:
> > Total kernel swapouts during test = 29068 kB
> > Total kernel swapins during test  = 16480 kB
> > Elapsed time for test: 141 seconds
> >
> > 2.5.23-rmap (this patch -- "rmap-minimal"):
> > Total kernel swapouts during test = 24068 kB
> > Total kernel swapins during test  =  6480 kB
> > Elapsed time for test: 133 seconds
> >
> > 2.5.23-rmap13b (Rik's "rmap-13b complete") :
> > Total kernel swapouts during test = 40696 kB
> > Total kernel swapins during test  =   380 kB
> > Elapsed time for test: 133 seconds
> 
> Interesting to see that both rmap versions have the same
> performance, it would seem that swapouts are much cheaper
> than waiting for a pagefault to swap something in ...

You might conclude from the above that the lru+rmap is superior to 
aging+rmap: while they show the same wall-clock time, lru+rmap consumes 
considerably less disk bandwidth.  Naturally, it would be premature to 
conclude this from one trial on one load.

These patches need benchmarking - lots of it, and preferrably in the next few 
days.

We need to see cpu stats as well.

-- 
Daniel

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] (2/2) reverse mappings for current 2.5.23 VM
  2002-06-19 11:21 ` Craig Kulesa
@ 2002-06-19 11:58   ` Rik van Riel
  2002-06-19 17:01     ` Daniel Phillips
  2002-06-19 17:46   ` Daniel Phillips
  1 sibling, 1 reply; 8+ messages in thread
From: Rik van Riel @ 2002-06-19 11:58 UTC (permalink / raw)
  To: Craig Kulesa; +Cc: linux-kernel, linux-mm

On Wed, 19 Jun 2002, Craig Kulesa wrote:

> Where: 	   http://loke.as.arizona.edu/~ckulesa/kernel/rmap-vm/

Thank you. I take it as a big compliment that people are
not only interested in rmap on other kernel versions but
able to read and understand the rmap code well enough to
be able to do so ;)

> 2.5.22 vanilla:
> Total kernel swapouts during test = 29068 kB
> Total kernel swapins during test  = 16480 kB
> Elapsed time for test: 141 seconds
>
> 2.5.23-rmap (this patch -- "rmap-minimal"):
> Total kernel swapouts during test = 24068 kB
> Total kernel swapins during test  =  6480 kB
> Elapsed time for test: 133 seconds
>
> 2.5.23-rmap13b (Rik's "rmap-13b complete") :
> Total kernel swapouts during test = 40696 kB
> Total kernel swapins during test  =   380 kB
> Elapsed time for test: 133 seconds

Interesting to see that both rmap versions have the same
performance, it would seem that swapouts are much cheaper
than waiting for a pagefault to swap something in ...

> [Gotta tone down page_launder() a bit...]

... though I definately agree with your analysis here.
I hadn't expected to give a quick rmap port without any
of the VM balancing changes to give a performance edge
over the virtual scanning VM and am surprised by your
results.


> Modifications:
>
> 	- in vmscan.c: dropped swap_out_add_to_swap_cache(), integrated
> 	  its contents to rmap's add_to_swap() in swap_state.c.  This is a
> 	  more reasonable place for it anyway.
>
> 	- Dropped try_to_swap_out(), swap_out(), and all its brethren from
> 	  vmscan.c.  What a great feeling! :)
>
> 	- In vmscan.c's shrink_cache():
> 	  If a page is actively referenced and page mapping in use, move
> 	  the inactive page to the active list; alloc some swap space for
> 	  anon pages, then if we must, fall to rmap's try_to_unmap() to
> 	  swap.  Drop the max_mapped logic, since swap_out() is gone and
> 	  we don't need it.  If try_to_unmap() fails, put the page on the
> 	  active list.  These are all pieces of Rik's page_launder()
> 	  logic in his integrated rmap scheme.
>
> 	- use page_referenced() instead of TestClearPageReferenced() in
> 	  refill_inactive()

This changelog seems small enough for the code to be mergeable,
if it weren't for one last TODO item:

- pte_highmem support for -rmap


> Okay it's quick and dirty, but it seems to work pretty well in initial
> (and not yet rigorous) tests.  Like the full rmap patch for 2.5, I'll try
> to keep this patch up to date with the 2.5 and rmap trees until VM
> development switches to 2.5.

Thank you. I'm leaving for two meetings and a conference
in Canada later today, but I'll be back to work on rmap
for 2.5 from july 3rd.

kind regards,

Rik
-- 
Bravely reimplemented by the knights who say "NIH".

http://www.surriel.com/		http://distro.conectiva.com/

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH] (2/2) reverse mappings for current 2.5.23 VM
       [not found] <Pine.LNX.4.44.0206181340380.3031@loke.as.arizona.edu>
@ 2002-06-19 11:21 ` Craig Kulesa
  2002-06-19 11:58   ` Rik van Riel
  2002-06-19 17:46   ` Daniel Phillips
  0 siblings, 2 replies; 8+ messages in thread
From: Craig Kulesa @ 2002-06-19 11:21 UTC (permalink / raw)
  To: linux-kernel; +Cc: linux-mm


Where: 	   http://loke.as.arizona.edu/~ckulesa/kernel/rmap-vm/

This rather smaller patch serves a very different purpose than patch #1.  
It introduces the "minimal" rmap functionality of Rik van Riel's reverse 
mapping patches atop the current 2.5.23 classzone VM.  This quick patch 
was done on a whim at 1 AM, but it actually seems to perform pretty 
decently on my laptop.  Page eviction choice is quite good, even 
in the absence of any sort of page aging.  Using the same quick test as 
in the previous email: 

2.5.22 vanilla:
Total kernel swapouts during test = 29068 kB
Total kernel swapins during test  = 16480 kB
Elapsed time for test: 141 seconds

2.5.23-rmap (this patch -- "rmap-minimal"):           
Total kernel swapouts during test = 24068 kB
Total kernel swapins during test  =  6480 kB
Elapsed time for test: 133 seconds

2.5.23-rmap13b (Rik's "rmap-13b complete") :
Total kernel swapouts during test = 40696 kB
Total kernel swapins during test  =   380 kB
Elapsed time for test: 133 seconds

[Gotta tone down page_launder() a bit...]

Modifications:

	- in vmscan.c: dropped swap_out_add_to_swap_cache(), integrated 
	  its contents to rmap's add_to_swap() in swap_state.c.  This is a 
	  more reasonable place for it anyway. 

	- Dropped try_to_swap_out(), swap_out(), and all its brethren from 
	  vmscan.c.  What a great feeling! :)

	- In vmscan.c's shrink_cache():
	  If a page is actively referenced and page mapping in use, move 
	  the inactive page to the active list; alloc some swap space for 
	  anon pages, then if we must, fall to rmap's try_to_unmap() to 
	  swap.  Drop the max_mapped logic, since swap_out() is gone and 
	  we don't need it.  If try_to_unmap() fails, put the page on the 
	  active list.  These are all pieces of Rik's page_launder() 
	  logic in his integrated rmap scheme.  

	- use page_referenced() instead of TestClearPageReferenced() in 
	  refill_inactive()

	- compilation patches as per "complete" rmap patch #1 (previous 
	  email)

Okay it's quick and dirty, but it seems to work pretty well in initial 
(and not yet rigorous) tests.  Like the full rmap patch for 2.5, I'll try 
to keep this patch up to date with the 2.5 and rmap trees until VM 
development switches to 2.5.

Comments, patches, fixes & feedback always welcome. :)


Craig Kulesa
Steward Observatory, Univ. of Arizona


--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2002-06-19 20:44 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <E17Kiio-0000sO-00@starship>
2002-06-19 20:09 ` [PATCH] (2/2) reverse mappings for current 2.5.23 VM Craig Kulesa
2002-06-19 20:44   ` Daniel Phillips
     [not found] <Pine.LNX.4.44.0206181340380.3031@loke.as.arizona.edu>
2002-06-19 11:21 ` Craig Kulesa
2002-06-19 11:58   ` Rik van Riel
2002-06-19 17:01     ` Daniel Phillips
2002-06-19 17:18       ` Rik van Riel
2002-06-19 17:46   ` Daniel Phillips
2002-06-19 20:25     ` Craig Kulesa

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox