Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 17 Nov 2000 17:23:14 +0200 (SAT)
From:      John Hay <jhay@icomtek.csir.co.za>
To:        jburkhol@home.com (Jake Burkholder)
Cc:        jhb@FreeBSD.ORG (John Baldwin), smp@FreeBSD.ORG, cp@bsdi.com
Subject:   Re: cvs commit: src/sys/kern kern_timeout.c
Message-ID:  <200011171523.eAHFNEV94801@zibbi.icomtek.csir.co.za>
In-Reply-To: <20001117052556.5F927BA7A@io.yi.org> from Jake Burkholder at "Nov 16, 2000 09:25:56 pm"

next in thread | previous in thread | raw e-mail | index | archive | help
> 
> Hmm.  This is unfortunate because the change to mi_switch is absolutely
> necessary.  I don't see why changing the queues would cause problems.
> The p_runq/p_mtxq isn't really necessary because they are mutually
> exclusive, like the runq/sleepq used to be.
> 
> Looking at the use of DROP_GIANT_NOSWITCH, I think that it should be
> after the mtx_enter(&sched_lock, MTX_SPIN) instead of before.  The idea
> with the noswitch flag is that it allows you to release a sleep mutex
> with interrupts disabled, otherwise there's no point.  If interrupts are
> enabled you're supposed to be able to block.
> 
> Here's a patch that seems to work ok here.  It works on my UP box running
> X and stuff, I don't notice any hung processes.  It works on the SMP box,
> I built a kernel over NFS and it seemed ok, except that I can't
> get a kernel to boot using the serial console with WITNESS enabled.  It
> stops at the twiddle thing before the copyright is printed and just hangs.
> This also happens without the patch and even with a UP kernel, so I don't
> really know what's going on.  Please try and let me know if you still
> see the hung processes.
> 
> I think we'll just have to settle with no longer being able to assert
> that a process has no wchan in cpu_switch.  There's bound to be alot of
> contention with Giant, but eventually signals should be protected by
> a per-process mutex, so a context switch at that point is less likely.
>  

Well I have tried your patch and so far it looks good. I have finished
a "make -j13 world" and a "make release NODOC=YES WORLD_FLAGS=-j4" with
no problems on a dual 266MHz PII.

John
-- 
John Hay -- John.Hay@icomtek.csir.co.za


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-smp" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200011171523.eAHFNEV94801>