sparc64 kernel code question..

From: Julian Elischer <julian_at_elischer.org>
Date: Sun, 9 May 2004 15:44:40 -0700 (PDT)
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
Received on Sun May 09 2004 - 13:44:44 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:53 UTC