linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Aki M Laukkanen <amlaukka@cc.helsinki.fi>
To: linux-mm@kvack.org
Subject: 2.4.0-test7-pre4-vm2 results
Date: Thu, 17 Aug 2000 01:43:26 +0300 (EET DST)	[thread overview]
Message-ID: <Pine.OSF.4.20.0008170130550.7212-200000@sirppi.helsinki.fi> (raw)

[-- Attachment #1: Type: TEXT/PLAIN, Size: 1998 bytes --]

Hello,
I tested the patch with two workloads on 2x466 Celeron/128MB. Btw. I couldn't
trigger the SMP race with these tests. What kind of workload is needed?

* make -j30 bzImage

* bonnie++ -s 512
[amlaukka@stellar tmp]$ bon_csv2txt <stellar.pp.htv.fi-2.4.0-test7-pre4-vm
Version  1.00  ------Sequential Output------ --Sequential Input---Random-
               -Per Chr- --Block-- -Rewrite- -Per Chr- --Block----Seeks--
Machine        MB K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP
   Unknown     512  6236 87 11975  18 4242   8  5217  66  9623  10   nan 
   -2147483648
               ------Sequential Create------ --------RandomCreate--------
               -Create-- --Read--- -Delete-- -Create-- --Read----Delete--
files:max:min /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP
Unknown 30    129  98 +++++  90  5484  99   130  98 +++++  97   642  96

For comparison:
[amlaukka@stellar tmp]$ bon_csv2txt <stellar.pp.htv.fi-2.3.99-pre6-3
Version  1.00 ------Sequential Output------ --Sequential Input---Random-
              -Per Chr- --Block-- -Rewrite- -Per Chr- --Block----Seeks--
Machine       MB K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec%CP
   Unknown    256 7484 100 24077  40  7602  15  7005  90 22186  29   nan
-2147483648
              ------Sequential Create------ --------RandomCreate--------
              -Create-- --Read--- -Delete-- -Create-- --Read----Delete--
files:max:min /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec%CP
Unknown 30    125  99 +++++  96  6043 100   127  99 +++++  99   602 90

I also logged vmstat, date and cat /proc/zoneinfo every seconds. These logs
are available at 

http://www.cs.helsinki.fi/Aki.Laukkanen/log.1.bz2 (make)
http://www.cs.helsinki.fi/Aki.Laukkanen/log.2.bz2 (bonnie++)

/proc/zoneinfo is a silly hack. Hopefully it's somewhat useful. See attached
patch. I haven't done much analyzing on these logs although there seems to
be gaps of several tens of seconds (indicating burstiness).


-- 
D.

[-- Attachment #2: Type: TEXT/PLAIN, Size: 2730 bytes --]

diff -urN linux-2.4.0-t7-p4-vm.bak/fs/proc/proc_misc.c linux-2.4.0-t7-p4-vm/fs/proc/proc_misc.c
--- linux-2.4.0-t7-p4-vm.bak/fs/proc/proc_misc.c	Thu Aug 17 01:29:37 2000
+++ linux-2.4.0-t7-p4-vm/fs/proc/proc_misc.c	Wed Aug 16 23:49:30 2000
@@ -63,6 +63,7 @@
 extern int get_irq_list(char *);
 extern int get_dma_list(char *);
 extern int get_locks_status (char *, char **, off_t, int);
+extern int get_zoneinfo (char *, char **, off_t, int);
 extern int get_swaparea_info (char *);
 #ifdef CONFIG_SGI_DS1286
 extern int get_ds1286_status(char *);
@@ -289,6 +290,18 @@
 }
 #endif
 
+static int zoneinfo_read_proc(char *page, char **start, off_t off,
+			      int count, int *eof, void *data)
+{
+	int len = get_zoneinfo(page, start, off, count);
+	len -= (*start-page);
+	if (len <= count)
+		*eof = 1;
+	if (len > count) len = count;
+	if (len < 0) len = 0;
+	return len;
+}
+
 static int kstat_read_proc(char *page, char **start, off_t off,
 				 int count, int *eof, void *data)
 {
@@ -639,6 +652,7 @@
 		{"swaps",	swaps_read_proc},
 		{"iomem",	memory_read_proc},
 		{"execdomains",	execdomains_read_proc},
+		{"zoneinfo",	zoneinfo_read_proc},
 		{NULL,NULL}
 	};
 	for(p=simple_ones;p->name;p++)
@@ -676,5 +690,5 @@
 			res->read_proc = slabinfo_read_proc;
 			res->write_proc = slabinfo_write_proc;
 		}
-	}
+ 	}
 }
diff -urN linux-2.4.0-t7-p4-vm.bak/mm/page_alloc.c linux-2.4.0-t7-p4-vm/mm/page_alloc.c
--- linux-2.4.0-t7-p4-vm.bak/mm/page_alloc.c	Thu Aug 17 01:29:37 2000
+++ linux-2.4.0-t7-p4-vm/mm/page_alloc.c	Thu Aug 17 00:14:30 2000
@@ -659,6 +659,7 @@
 					zonelist->zones[j++] = zone;
 				}
 			case ZONE_NORMAL:
+
 				zone = pgdat->node_zones + ZONE_NORMAL;
 				if (zone->size)
 					zonelist->zones[j++] = zone;
@@ -828,5 +829,40 @@
 	printk("\n");
 	return 1;
 }
+
+#ifdef CONFIG_PROC_FS
+int get_zoneinfo (char*page, char**start, off_t off, int count)
+{
+	pg_data_t *pgdat = NODE_DATA(0);
+	int i,j; unsigned long flags;
+	int len = 0;
+
+	for (i = 0; i < MAX_NR_ZONES; i++) {
+		zonelist_t *zonelist;
+		zone_t **zone;
+
+		zonelist = pgdat->node_zonelists + i;
+
+		zone = zonelist->zones;
+		for (j = 0;;j++) {
+			zone_t *z = *(zone++);
+			if (!z)
+				break;
+			if (!z->size)
+				BUG();
+
+			spin_lock_irqsave(&z->lock, flags);
+			
+			len += sprintf(page+len, "%4u %4u %6lu %6lu %6lu %6lu %6lu %6lu %6lu\n",
+				       i,j,z->offset, z->free_pages, z->inactive_clean_pages,
+				       z->inactive_dirty_pages, z->pages_min, z->pages_low, z->pages_high);
+
+			spin_unlock_irqrestore(&z->lock, flags);
+		}
+	}
+	*start = page+off;
+	return len;
+}
+#endif
 
 __setup("memfrac=", setup_mem_frac);

             reply	other threads:[~2000-08-16 22:43 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2000-08-16 22:43 Aki M Laukkanen [this message]
2000-08-16 22:57 ` Rik van Riel

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=Pine.OSF.4.20.0008170130550.7212-200000@sirppi.helsinki.fi \
    --to=amlaukka@cc.helsinki.fi \
    --cc=linux-mm@kvack.org \
    /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