Re: Possible dcache BUG

From: Nick Piggin
Date: Fri Aug 20 2004 - 02:51:36 EST


Udo A. Steinberg wrote:
On Fri, 20 Aug 2004 00:11:54 -0700 Andrew Morton (AM) wrote:

AM> "Udo A. Steinberg" <us15@xxxxxxxxxxxxxxxxxxxx> wrote:
AM> >
AM> > I've tried to download 700 MB of data from a digital camera via USB using
AM> > "gphoto2 --get-all-files" and I can repeatedly run my 128 MB box out of
AM> > memory using either Linux 2.4.26 or 2.6.8.1 for that.
AM> AM> whee. How much swap is online?

Something close to 512 MB.

Adding 506512k swap on /dev/hda2. Priority:-1 extents:1

AM> Not that it matters - you seem to have a bunch of reclaimable pagecache
AM> just sitting there. Very odd.
AM> AM> Could gphoto2 be using mlock? Does it run as root?

No, gphoto2 was not running as root.

-Udo.

Can you reproduce the OOM with the following patch please? Then
send the output.

Thanks




---

linux-2.6-npiggin/mm/page_alloc.c | 6 +++++-
1 files changed, 5 insertions(+), 1 deletion(-)

diff -puN mm/page_alloc.c~vm-unreclaimable-debug mm/page_alloc.c
--- linux-2.6/mm/page_alloc.c~vm-unreclaimable-debug 2004-08-20 17:44:45.000000000 +1000
+++ linux-2.6-npiggin/mm/page_alloc.c 2004-08-20 17:48:26.000000000 +1000
@@ -1182,6 +1182,8 @@ void show_free_areas(void)
" active:%lukB"
" inactive:%lukB"
" present:%lukB"
+ " pages_scanned:%lu"
+ " all_unreclaimable? %s"
"\n",
zone->name,
K(zone->free_pages),
@@ -1190,7 +1192,9 @@ void show_free_areas(void)
K(zone->pages_high),
K(zone->nr_active),
K(zone->nr_inactive),
- K(zone->present_pages)
+ K(zone->present_pages),
+ zone->pages_scanned,
+ (zone->all_unreclaimable ? "yes" : "no")
);
printk("protections[]:");
for (i = 0; i < MAX_NR_ZONES; i++)

_