From owner-freebsd-alpha Sun Aug 15 10:17:41 1999 Delivered-To: freebsd-alpha@freebsd.org Received: from feral.com (feral.com [192.67.166.1]) by hub.freebsd.org (Postfix) with ESMTP id B8BAD153CE for ; Sun, 15 Aug 1999 10:17:33 -0700 (PDT) (envelope-from mjacob@feral.com) Received: from semuta.feral.com (semuta [192.67.166.70]) by feral.com (8.8.7/8.8.7) with ESMTP id KAA19255; Sun, 15 Aug 1999 10:17:54 -0700 Date: Sun, 15 Aug 1999 10:17:52 -0700 (PDT) From: Matthew Jacob Reply-To: mjacob@feral.com To: Alan Cox Cc: alpha@freebsd.org Subject: Re: more breakage... (fwd) In-Reply-To: <19990815013618.B11439@cs.rice.edu> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-alpha@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org These didn't patch cleanly, but I did what I thought was the close equivalent and the problem/panic returned- sorry. I guess some more cleanup in vm_page is warranted. I believe you're right in going from 0 to PQ_COUNT in a number of cases- but there are apparently other oversubtle cases that will have to be addressed. The main thing though is that we can proceed along. I really wish beast had a serial console we could get at- it is really important for both i386 && alpha architectures to be tested. On Sun, 15 Aug 1999, Alan Cox wrote: > Can you tell me if the following works? It doesn't address > the root cause of the problem, but it will confirm my explanation. > > Thanks, > Alan > > Index: vm/vm_page.c > =================================================================== > RCS file: /home/ncvs/src/sys/vm/vm_page.c,v > retrieving revision 1.138 > diff -c -r1.138 vm_page.c > *** vm_page.c 1999/08/11 05:12:00 1.138 > --- vm_page.c 1999/08/15 06:16:44 > *************** > *** 123,129 **** > vm_page_queues[PQ_CACHE+i].pl = &vm_page_queue_cache[i]; > vm_page_queues[PQ_CACHE+i].cnt = &cnt.v_cache_count; > } > ! for(i=PQ_FREE;i if (vm_page_queues[i].pl) { > TAILQ_INIT(vm_page_queues[i].pl); > } else { > --- 123,129 ---- > vm_page_queues[PQ_CACHE+i].pl = &vm_page_queue_cache[i]; > vm_page_queues[PQ_CACHE+i].cnt = &cnt.v_cache_count; > } > ! for (i = 0; i < PQ_COUNT; i++) { > if (vm_page_queues[i].pl) { > TAILQ_INIT(vm_page_queues[i].pl); > } else { > Index: vm/vm_page.h > =================================================================== > RCS file: /home/ncvs/src/sys/vm/vm_page.h,v > retrieving revision 1.66 > diff -c -r1.66 vm_page.h > *** vm_page.h 1999/08/14 06:25:54 1.66 > --- vm_page.h 1999/08/15 06:02:05 > *************** > *** 194,202 **** > #define PQ_L2_MASK (PQ_L2_SIZE - 1) > > #define PQ_NONE PQ_COUNT > ! #define PQ_FREE 0 > ! #define PQ_INACTIVE PQ_L2_SIZE > ! #define PQ_ACTIVE (1 + PQ_L2_SIZE) > #define PQ_CACHE (2 + PQ_L2_SIZE) > #define PQ_COUNT (2 + 2*PQ_L2_SIZE) > > --- 194,202 ---- > #define PQ_L2_MASK (PQ_L2_SIZE - 1) > > #define PQ_NONE PQ_COUNT > ! #define PQ_ACTIVE 0 > ! #define PQ_INACTIVE 1 > ! #define PQ_FREE 2 > #define PQ_CACHE (2 + PQ_L2_SIZE) > #define PQ_COUNT (2 + 2*PQ_L2_SIZE) > > To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-alpha" in the body of the message