[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

uvm_scheduler (Re: ata (NG) scsi(OK) (Re: snapshot 20020818ts...))



>                                            千葉市中央区長洲
>                                                    藤原  誠
To: port-powerpc-ja@jp.netbsd.org
From: 藤原 誠 / Makoto Fujiwara <makoto@ki.nu>
Subject: ata (NG) scsi(OK) (Re: snapshot 20020818ts...)
Date: Wed, 21 Aug 2002 21:25:08 +0900

藤原> でもどういう時なのか良く分っていないのですが、
藤原> StarMax/PM4400 で、
藤原> md0: internal 2048 KB image area
藤原> boot device: wd0
藤原> root on md0a dumps on md0b
藤原> root file system type: ffs
藤原> で止ってしまうことがあるのです。
n
藤原> これですが、何と 
藤原> ata/ata-disk@0:0 から起動 ×
藤原> scsi/sd@0:0      から起動 ○
藤原> でした。上のは GENERIC_MD でしたが、GENERIC でも

と書いた続きになると思うのですが、PowerBook G4/800 
に同じものを入れても、また同じようになってしまいます。
(1.6 Release の GENERIC_MD.gz は動いているので、それを
使って sysinst したり /netbsd を入替えています)

macppc-021015.tar.gz で作ったものも同じ気がします。
それで printf を入れて見たりしたのですが、
init_main.c から呼ばれている uvm_scheduler の中に、
次のような変更をすると 
40
50
というのを交互に表示してまわっています。一体これは何なの
でしょうか。
 ---
(藤原)

Index: uvm/uvm_glue.c
===================================================================
RCS file: /rw/u.ki.nu/ex2/NetBSD-cvs/main/syssrc/sys/uvm/uvm_glue.c,v
retrieving revision 1.60
diff -u -r1.60 uvm_glue.c
--- uvm/uvm_glue.c	2002/09/22 07:20:32	1.60
+++ uvm/uvm_glue.c	2002/10/24 13:05:09
@@ -1,5 +1,5 @@
 /*	$NetBSD: uvm_glue.c,v 1.59 2002/07/02 20:27:48 yamt Exp $	*/
-
+#define DEBUG 1
 /*
  * Copyright (c) 1997 Charles D. Cranor and Washington University.
  * Copyright (c) 1991, 1993, The Regents of the University of California.
@@ -477,6 +477,7 @@
 	while (!enableswap)
 		tsleep(&proc0, PVM, "noswap", 0);
 #endif
+	printf("40\n");
 	pp = NULL;		/* process to choose */
 	ppri = INT_MIN;	/* its priority */
 	proclist_lock_read();
@@ -492,6 +493,7 @@
 			}
 		}
 	}
+	printf("50\n");
 	/*
 	 * XXXSMP: possible unlock/sleep race between here and the
 	 * "scheduler" tsleep below..