public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Andrea Arcangeli <andrea@suse.de>
To: Rik van Riel <riel@conectiva.com.br>
Cc: arjan@fenrus.demon.nl, linux-kernel@vger.kernel.org
Subject: Re: 2.4.19pre1aa1
Date: Tue, 5 Mar 2002 16:10:32 +0100	[thread overview]
Message-ID: <20020305161032.F20606@dualathlon.random> (raw)
In-Reply-To: <200203050835.g258ZpW25134@fenrus.demon.nl> <Pine.LNX.4.44L.0203050934340.1413-100000@duckman.distro.conectiva>
In-Reply-To: <Pine.LNX.4.44L.0203050934340.1413-100000@duckman.distro.conectiva>

On Tue, Mar 05, 2002 at 09:41:56AM -0300, Rik van Riel wrote:
> On Tue, 5 Mar 2002 arjan@fenrus.demon.nl wrote:
> > In article <20020305005215.U20606@dualathlon.random> you wrote:
> >
> > > I don't see how per-zone lru lists are related to the kswapd deadlock.
> > > as soon as the ZONE_DMA will be filled with filedescriptors or with
> > > pagetables (or whatever non pageable/shrinkable kernel datastructure you
> > > prefer) kswapd will go mad without classzone, period.
> >
> > So does it with class zone on a scsi system....
> 
> Furthermore, there is another problem which is present in
> both 2.4 vanilla, -aa and -rmap.

Please check the code. scsi_resize_dma_pool is called when you insmod a
module. It doesn't really matter if kswapd runs for 2 seconds during
insmod. And anyways if there would be some buggy code allocating dma in
a flood by mistake on a high end machine, then I can fix it completly by
tracking down when somebody freed dma pages over some watermark, but
that would add additional accounting that I don't feel needed, simply
because if you don't need DMA zone you shouldn't use GFP_DMA, I feel
fixing scsi is the right thing if something (but again, I don't see any
flood allocation during production with scsi).

> Suppose that (1) we are low on memory in ZONE_NORMAL and
> (2) we have enough free memory in ZONE_HIGHMEM and (3) the
> memory in ZONE_NORMAL is for a large part taken by buffer
> heads belonging to pages in ZONE_HIGHMEM.
> 
> In that case, none of the VMs will bother freeing the buffer
> heads associated with the highmem pages and kswapd will have

wrong, classzone will do that, both for NORMAL and HIGHMEM allocations.
You won't free the buffer headers only if you do DMA allocations and
by luck there will be no buffer headers in the DMA zone, otherwise it
will free the bh during DMA allocations too. remeber highmem classzone
means all the ram in the machine, not just highmem zone.

> to work hard trying to free something else in ZONE_NORMAL.
> 
> Now before you say this is a strange theoretical situation,
> I've seen it here when using highmem emulation. Low memory
> was limited to 30 MB (16 MB ZONE_DMA, 14 MB ZONE_NORMAL)
> and the rest of the machine was HIGHMEM.  Buffer heads were
> taking up 8 MB of low memory, dcache and inode cache were a
> good second with 2 MB and 5 MB respectively.
> 
> 
> How to efficiently fix this case ?   I wouldn't know right now...

I don't see anything to fix, that should be just handled flawlessy.

> However, I guess we might want to come up with a fix because it's
> a quite embarassing scenario ;)
> 
> regards,
> 
> Rik
> -- 
> Will hack the VM for food.
> 
> http://www.surriel.com/		http://distro.conectiva.com/


Andrea

  reply	other threads:[~2002-03-05 15:10 UTC|newest]

Thread overview: 77+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-02-27 12:50 2.4.19pre1aa1 Andrea Arcangeli
2002-02-28 22:11 ` 2.4.19pre1aa1 Bill Davidsen
2002-03-01  1:30   ` 2.4.19pre1aa1 Mike Fedyk
2002-03-01  3:26     ` 2.4.19pre1aa1 Bill Davidsen
2002-03-01  3:46       ` 2.4.19pre1aa1 Mike Fedyk
2002-03-01 12:51         ` 2.4.19pre1aa1 Rik van Riel
2002-03-01 18:37           ` 2.4.19pre1aa1 Mike Fedyk
2002-03-01 10:17       ` 2.4.19pre1aa1 Marco Colombo
2002-03-01 11:37         ` 2.4.19pre1aa1 Alan Cox
2002-03-02  2:06       ` 2.4.19pre1aa1 Andrea Arcangeli
2002-03-02  2:28         ` 2.4.19pre1aa1 Alan Cox
2002-03-02  3:30           ` 2.4.19pre1aa1 Andrea Arcangeli
2002-03-03 21:38         ` 2.4.19pre1aa1 Daniel Phillips
2002-03-04  0:49           ` 2.4.19pre1aa1 Andrea Arcangeli
2002-03-04  1:46             ` 2.4.19pre1aa1 Daniel Phillips
2002-03-04  2:25               ` 2.4.19pre1aa1 Andrea Arcangeli
2002-03-04  3:22                 ` 2.4.19pre1aa1 Daniel Phillips
2002-03-04 12:41                 ` 2.4.19pre1aa1 Rik van Riel
2002-03-04 14:05                   ` 2.4.19pre1aa1 Andrea Arcangeli
2002-03-04 14:23                     ` 2.4.19pre1aa1 Rik van Riel
2002-03-04 16:10                       ` 2.4.19pre1aa1 Andrea Arcangeli
2002-03-04 16:28                         ` 2.4.19pre1aa1 Rik van Riel
2002-03-04 16:59                       ` 2.4.19pre1aa1 Martin J. Bligh
2002-03-04 18:18                         ` 2.4.19pre1aa1 Stephan von Krawczynski
2002-03-04 18:41                           ` 2.4.19pre1aa1 Stephan von Krawczynski
2002-03-04 18:46                           ` 2.4.19pre1aa1 Martin J. Bligh
2002-03-04 22:06                             ` 2.4.19pre1aa1 Andrea Arcangeli
2002-03-04 23:03                               ` 2.4.19pre1aa1 Samuel Ortiz
2002-03-05 11:23                                 ` 2.4.19pre1aa1 Stephan von Krawczynski
2002-03-05 17:35                                   ` 2.4.19pre1aa1 Samuel Ortiz
2002-03-05  0:12                               ` 2.4.19pre1aa1 Rik van Riel
2002-03-05  6:21                               ` 2.4.19pre1aa1 Martin J. Bligh
2002-03-04 21:37                           ` 2.4.19pre1aa1 Rik van Riel
2002-03-04 18:19                         ` 2.4.19pre1aa1 Andrea Arcangeli
2002-03-04 18:56                           ` 2.4.19pre1aa1 Martin J. Bligh
2002-03-04 22:25                             ` 2.4.19pre1aa1 Andrea Arcangeli
2002-03-04 23:09                               ` 2.4.19pre1aa1 Gerrit Huizenga
2002-03-05  0:19                                 ` 2.4.19pre1aa1 Andrea Arcangeli
2002-03-05  2:00                                   ` 2.4.19pre1aa1 Gerrit Huizenga
2002-03-04 22:38                             ` 2.4.19pre1aa1 Daniel Phillips
2002-03-04 21:36                           ` 2.4.19pre1aa1 Rik van Riel
2002-03-04 23:01                             ` 2.4.19pre1aa1 Andrea Arcangeli
2002-03-04 23:11                               ` 2.4.19pre1aa1 Rik van Riel
2002-03-04 23:52                                 ` 2.4.19pre1aa1 Andrea Arcangeli
2002-03-05  0:01                                   ` 2.4.19pre1aa1 Rik van Riel
2002-03-05  1:05                                     ` 2.4.19pre1aa1 Andrea Arcangeli
2002-03-05  1:26                                       ` 2.4.19pre1aa1 Rik van Riel
2002-03-05  1:40                                         ` 2.4.19pre1aa1 Andrea Arcangeli
2002-03-05  1:55                                           ` 2.4.19pre1aa1 Martin J. Bligh
2002-03-05  5:16                                             ` 2.4.19pre1aa1 Samuel Ortiz
2002-03-05  5:47                                               ` 2.4.19pre1aa1 Martin J. Bligh
2002-03-05  6:33                                                 ` 2.4.19pre1aa1 Samuel Ortiz
2002-03-05 12:22                                           ` 2.4.19pre1aa1 Rik van Riel
2002-03-05 15:01                                             ` 2.4.19pre1aa1 Andrea Arcangeli
     [not found]                                             ` <Pine.LNX.4.44L.0203050921510.1413-100000@duckman.distro.conecti va>
2002-03-05 15:29                                               ` 2.4.19pre1aa1 Martin J. Bligh
2002-03-05 15:43                                                 ` 2.4.19pre1aa1 Andrea Arcangeli
2002-03-05  3:05                                         ` 2.4.19pre1aa1 Bill Davidsen
2002-03-05  8:35                                   ` 2.4.19pre1aa1 arjan
2002-03-05 12:41                                     ` 2.4.19pre1aa1 Rik van Riel
2002-03-05 15:10                                       ` Andrea Arcangeli [this message]
2002-03-05 16:57                                         ` 2.4.19pre1aa1 Rik van Riel
2002-03-05 18:26                                           ` 2.4.19pre1aa1 Andrea Arcangeli
2002-03-05 18:30                                             ` 2.4.19pre1aa1 Arjan van de Ven
2002-03-05 19:12                                               ` 2.4.19pre1aa1 Andrew Morton
2002-03-05 23:03                                                 ` 2.4.19pre1aa1 Andrea Arcangeli
2002-03-05 23:05                                                   ` 2.4.19pre1aa1 Andrea Arcangeli
2002-03-05 23:24                                                     ` 2.4.19pre1aa1 Andrew Morton
2002-03-05 23:37                                                       ` 2.4.19pre1aa1 Andrea Arcangeli
2002-03-05 23:51                                                         ` 2.4.19pre1aa1 Andrew Morton
2002-03-06  0:09                                       ` 2.4.19pre1aa1 Daniel Phillips
2002-03-05 14:55                                     ` 2.4.19pre1aa1 Andrea Arcangeli
2002-03-05  5:38                               ` 2.4.19pre1aa1 Martin J. Bligh
2002-03-05  6:45                                 ` 2.4.19pre1aa1 David Lang
     [not found]       ` <200203021958.g22JwKq08818@Port.imtp.ilyichevsk.odessa.ua>
2002-03-02 20:47         ` 2.4.19pre1aa1 Andrea Arcangeli
2002-03-02 20:58           ` 2.4.19pre1aa1 Robert Love
2002-03-05 22:16             ` 2.4.19pre1aa1 Bill Davidsen
  -- strict thread matches above, loose matches on Subject: below --
2002-02-28  2:57 2.4.19pre1aa1 rwhron

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20020305161032.F20606@dualathlon.random \
    --to=andrea@suse.de \
    --cc=arjan@fenrus.demon.nl \
    --cc=linux-kernel@vger.kernel.org \
    --cc=riel@conectiva.com.br \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox