From owner-freebsd-current@FreeBSD.ORG Sun May 9 15:44:44 2004 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4CC0716A4CE for ; Sun, 9 May 2004 15:44:44 -0700 (PDT) Received: from rwcrmhc12.comcast.net (rwcrmhc12.comcast.net [216.148.227.85]) by mx1.FreeBSD.org (Postfix) with ESMTP id A15A143D41 for ; Sun, 9 May 2004 15:44:43 -0700 (PDT) (envelope-from julian@elischer.org) Received: from interjet.elischer.org ([24.7.73.28]) by comcast.net (rwcrmhc12) with ESMTP id <2004050922444301400jrk38e>; Sun, 9 May 2004 22:44:43 +0000 Received: from localhost (localhost.elischer.org [127.0.0.1]) by InterJet.elischer.org (8.9.1a/8.9.1) with ESMTP id PAA24410 for ; Sun, 9 May 2004 15:44:41 -0700 (PDT) Date: Sun, 9 May 2004 15:44:40 -0700 (PDT) From: Julian Elischer To: FreeBSD current users Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Subject: sparc64 kernel code question.. X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 09 May 2004 22:44:44 -0000 in vm_machdep.c the sparc64 code has void cpu_sched_exit(struct thread *td) { struct vmspace *vm; struct pcpu *pc; struct proc *p; mtx_assert(&sched_lock, MA_OWNED); p = td->td_proc; vm = p->p_vmspace; if (vm->vm_refcnt > 1) return; SLIST_FOREACH(pc, &cpuhead, pc_allcpu) { if (pc->pc_vmspace == vm) { vm->vm_pmap.pm_active &= ~pc->pc_cpumask; vm->vm_pmap.pm_context[pc->pc_cpuid] = -1; pc->pc_vmspace = NULL; } } } This is thw only architecture that has this.. What does it do? And what does it have to do with the scheduler? thanks Julian