linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Re: Andrea VM changes
@ 2003-08-30 15:50 Marcelo Tosatti
  2003-08-30 19:11 ` Marcelo Tosatti
  0 siblings, 1 reply; 39+ messages in thread
From: Marcelo Tosatti @ 2003-08-30 15:50 UTC (permalink / raw)
  To: Andrea Arcangeli, Mike Fedyk, Antonio Vargas, lkml,
	Marc-Christian Petersen


> that's true for only one patch, the others are pretty orthogonal after
> Andrew helped splitting them:
> 05_vm_03_vm_tunables-4
> 05_vm_05_zone_accounting-2
> 05_vm_06_swap_out-3
> 05_vm_07_local_pages-4
> 05_vm_08_try_to_free_pages_nozone-4
> 05_vm_09_misc_junk-3
> 05_vm_10_read_write_tweaks-3
> 05_vm_13_activate_page_cleanup-1
> 05_vm_15_active_page_swapout-1
> 05_vm_16_active_free_zone_bhs-1
> 05_vm_17_rest-10
> 05_vm_18_buffer-page-uptodate-1
> 05_vm_20_cleanups-3
> 05_vm_21_rt-alloc-1
> 05_vm_22_vm-anon-lru-1
> 05_vm_23_per-cpu-pages-3
> 05_vm_24_accessed-ipi-only-smp-1
> 05_vm_25_try_to_free_buffers-invariant-1

Indeed, you are right.

I'll start looking at them Monday. I'll keep you in touch. Thanks.



^ permalink raw reply	[flat|nested] 39+ messages in thread
[parent not found: <Pine.LNX.4.44.0308311353170.15412-100000@logos.cnet>]
[parent not found: <qL3q.1Pm.3@gated-at.bofh.it>]
* Re: Andrea VM changes
@ 2003-09-01  1:02 Dan Kegel
  2003-09-01  6:03 ` Rik van Riel
  0 siblings, 1 reply; 39+ messages in thread
From: Dan Kegel @ 2003-09-01  1:02 UTC (permalink / raw)
  To: linux-kernel; +Cc: jamie

Jamie Lokier <jamie () shareable ! org> wrote:
> I'd love to be able to select which app _doesn't_ deserve the axe.
> I.e. not sshd, and then not httpd.

I tried adding a hinting system that let the user
tweak the badness calculated by the OOM killer.
Didn't help.   No matter how I tried to protect
important processes, there was always a case where
the OOM killer ended up killing them anyway.

That was probably just a weakness in how I did the
hinting.  You might be able to do it with some sort of
'for god's sake never ever kill this process' tweak,
but before I tried that, I realized that making OOM
conditions halt the system was what I really wanted
for my users.

- Dan

-- 
Dan Kegel
http://www.kegel.com
http://counter.li.org/cgi-bin/runscript/display-person.cgi?user=78045


^ permalink raw reply	[flat|nested] 39+ messages in thread
* Re: Andrea VM changes
@ 2003-08-31 17:34 Marcelo Tosatti
  0 siblings, 0 replies; 39+ messages in thread
From: Marcelo Tosatti @ 2003-08-31 17:34 UTC (permalink / raw)
  To: andrea; +Cc: linux-kernel



---------- Forwarded message ----------
Date: Sun, 31 Aug 2003 14:14:06 -0300 (BRT)
From: Marcelo Tosatti <marcelo@parcelfarce.linux.theplanet.co.uk>
To: Andrea Arcangeli <andrea@suse.de>
Cc: Marcelo Tosatti <marcelo@conectiva.com.br>,
     Mike Fedyk <mfedyk@matchmail.com>, Antonio Vargas <wind@cocodriloo.com>,
     lkml <linux-kernel@vger.kernel.org>,
     Marc-Christian Petersen <m.c.p@wolk-project.de>
Subject: Re: Andrea VM changes



On Sat, 30 Aug 2003, Andrea Arcangeli wrote:

> On Sat, Aug 30, 2003 at 12:13:57PM -0300, Marcelo Tosatti wrote:
> > 
> > > You need to integrate with -aa on the VM.  It has been hard enough for
> > > Andrea to get his stuff in, I doubt you will fair any better.
> > 
> > Thats because I never received separate patches which make sense one by
> > one.  Most of Andreas changes are all grouped into few big patches that
> > only he knows the mess. That is not the way to merge things.
> > 
> > I want to work out with him after I merge other stuff to address that.
> 
> that's true for only one patch, the others are pretty orthogonal after
> Andrew helped splitting them:
> 
> 
> 05_vm_03_vm_tunables-4
> 05_vm_05_zone_accounting-2
> 05_vm_06_swap_out-3

Help me understand something about this patch. In try_to_free_pages(), you
set failed_swapout to zero in case we are under __GFP_IO. And
failed_swapout decides whether we swap_out() or not.

So basically with -aa swap_out() is only called by __GFP_IO tasks (which
are throttled by the page laundering code in shrink_cache) and in mainline
non __GFP_IO tasks do swap_out() (and those are not throttled by anything).

Did I understood this right? 

Part 2:

Now in try_to_free_pages_zone() and shrink_cache you have: 

    if (!*failed_swapout)
        *failed_swapout =  !swap_out(classzone);

Which means: Keep trying to swap_out() only in case swap_out()  
successfully desactivates nr_pages pte's. Right? Do you do that to avoid
terrible expensive swap_out() loops which dont successfully free pages?

Thanks






^ permalink raw reply	[flat|nested] 39+ messages in thread
* Re: Andrea VM changes
@ 2003-08-31 17:34 Marcelo Tosatti
  2003-08-31 22:46 ` Andrea Arcangeli
  2003-09-01  6:01 ` Rik van Riel
  0 siblings, 2 replies; 39+ messages in thread
From: Marcelo Tosatti @ 2003-08-31 17:34 UTC (permalink / raw)
  To: Andrea Arcangeli; +Cc: lkml



---------- Forwarded message ----------
Date: Sun, 31 Aug 2003 12:43:27 -0300 (BRT)
From: Marcelo Tosatti <marcelo@parcelfarce.linux.theplanet.co.uk>
To: Andrea Arcangeli <andrea@suse.de>
Cc: Marcelo Tosatti <marcelo@conectiva.com.br>,
     Mike Fedyk <mfedyk@matchmail.com>, Antonio Vargas <wind@cocodriloo.com>,
     lkml <linux-kernel@vger.kernel.org>,
     Marc-Christian Petersen <m.c.p@wolk-project.de>
Subject: Re: Andrea VM changes



On Sun, 31 Aug 2003, Andrea Arcangeli wrote:

> This oom killer on desktops may do a worse selections of the task to
> kill (the usual ssh now has a chance to be killed), but it fixes the oom
> deadlocks and it won't do stupid things on servers shall a netscape or
> whatever else app hit an userspace bug. So I've to prefer it, until I
> will write a reliable algorithm for the oom killing that won't fall into
> dosable corner cases so easily (mlock/nfs/database as the three most
> common examples of where current mainline can fail, btw the lowmem
> shortage is another very common DoS that the oom killer will never
> notice, my tree doesn't deadlock [or at least not technically, in
> practice it may look like a kernel deadlock despite syscalls returns
> -ENOMEM ;) ] during lowmem shortage on the 64G boxes).

Suppose you have a big fat hog leaking (lets say, netscape) allocating
pages at a slow pace. Now you have a decent well behaved app who is
allocating at a fast pace, and gets killed.

The chance the well behaved app gets killed is big, right? 



^ permalink raw reply	[flat|nested] 39+ messages in thread
* Re: Andrea VM changes
@ 2003-08-31 15:51 Dan Kegel
  2003-08-31 15:48 ` Jörn Engel
                   ` (2 more replies)
  0 siblings, 3 replies; 39+ messages in thread
From: Dan Kegel @ 2003-08-31 15:51 UTC (permalink / raw)
  To: linux-kernel

I spent way too long tweaking the OOM killer before I
realized it was hopeless.
The fact that incoming network traffic can be what causes the
OOM condition makes it Really Hard to decide which app deserves
the axe.

In the test-and-measurement system I'm developing,
it turned out the sanest thing to do with OOM conditions
was to consider them user errors, and to handle them
by dumping memory usage info about processes and slab caches,
then halt.  It's been very helpful because it turns flaky
conditions into rock-solid failures.  Too bad this drastic
approach isn't appropriate for general use.
- Dan

-- 
Dan Kegel
http://www.kegel.com
http://counter.li.org/cgi-bin/runscript/display-person.cgi?user=78045


^ permalink raw reply	[flat|nested] 39+ messages in thread
* Andrea VM changes
@ 2003-08-30 15:13 Marcelo Tosatti
  2003-08-30 15:41 ` Andrea Arcangeli
  0 siblings, 1 reply; 39+ messages in thread
From: Marcelo Tosatti @ 2003-08-30 15:13 UTC (permalink / raw)
  To: Mike Fedyk
  Cc: Antonio Vargas, lkml, Andrea Arcangeli, Marc-Christian Petersen


> You need to integrate with -aa on the VM.  It has been hard enough for
> Andrea to get his stuff in, I doubt you will fair any better.

Thats because I never received separate patches which make sense one by
one.  Most of Andreas changes are all grouped into few big patches that
only he knows the mess. That is not the way to merge things.

I want to work out with him after I merge other stuff to address that.

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

end of thread, other threads:[~2003-09-15 10:47 UTC | newest]

Thread overview: 39+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-08-30 15:50 Andrea VM changes Marcelo Tosatti
2003-08-30 19:11 ` Marcelo Tosatti
2003-08-30 19:21   ` Marcelo Tosatti
2003-08-30 23:19     ` Andrea Arcangeli
2003-08-30 23:30       ` Marcelo Tosatti
2003-08-30 23:57         ` Andrea Arcangeli
2003-08-31 14:10       ` Alan Cox
2003-08-31 14:59         ` Andrea Arcangeli
2003-08-31 15:29           ` Alan Cox
2003-08-31 15:59             ` Andrea Arcangeli
2003-09-15  5:16         ` Greg Stark
2003-09-15 10:47           ` Andrea Arcangeli
2003-08-31 11:50     ` Matthias Andree
2003-09-01 19:52       ` Mike Fedyk
2003-09-01 17:59   ` Andrea Arcangeli
     [not found] <Pine.LNX.4.44.0308311353170.15412-100000@logos.cnet>
2003-09-01 17:27 ` Marcelo Tosatti
2003-09-01 17:50   ` Andrea Arcangeli
     [not found] <qL3q.1Pm.3@gated-at.bofh.it>
     [not found] ` <qQ37.2q0.9@gated-at.bofh.it>
2003-09-01  9:15   ` Ihar 'Philips' Filipau
  -- strict thread matches above, loose matches on Subject: below --
2003-09-01  1:02 Dan Kegel
2003-09-01  6:03 ` Rik van Riel
2003-08-31 17:34 Marcelo Tosatti
2003-08-31 17:34 Marcelo Tosatti
2003-08-31 22:46 ` Andrea Arcangeli
2003-09-01  6:01 ` Rik van Riel
2003-09-01 15:54   ` Andrea Arcangeli
2003-08-31 15:51 Dan Kegel
2003-08-31 15:48 ` Jörn Engel
2003-08-31 16:19   ` Dan Kegel
2003-08-31 19:08 ` Jonathan Lundell
2003-08-31 19:22 ` Chris Frey
2003-08-31 23:42   ` Jamie Lokier
2003-09-01 11:47     ` Alan Cox
2003-08-30 15:13 Marcelo Tosatti
2003-08-30 15:41 ` Andrea Arcangeli
2003-09-01 18:26   ` Marcelo Tosatti
2003-09-01 18:36     ` Andrea Arcangeli
2003-09-01 19:00   ` Marcelo Tosatti
2003-09-01 19:05     ` Andrea Arcangeli
2003-09-02 20:51       ` Marcelo Tosatti

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).