Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 15 Aug 1999 10:17:52 -0700 (PDT)
From:      Matthew Jacob <mjacob@feral.com>
To:        Alan Cox <alc@cs.rice.edu>
Cc:        alpha@freebsd.org
Subject:   Re: more breakage... (fwd)
Message-ID:  <Pine.BSF.4.05.9908151015230.74167-100000@semuta.feral.com>
In-Reply-To: <19990815013618.B11439@cs.rice.edu>

next in thread | previous in thread | raw e-mail | index | archive | help

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<PQ_COUNT;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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.05.9908151015230.74167-100000>