Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 04 Mar 2005 09:20:56 +0800
From:      David Xu <davidxu@freebsd.org>
To:        Matthew Dillon <dillon@apollo.backplane.com>
Cc:        peter@freebsd.org
Subject:   Re: FreeBSD 5.3 crash (core with debug symbols available)
Message-ID:  <4227B7F8.9090304@freebsd.org>
In-Reply-To: <200503040103.j2413CNr082179@apollo.backplane.com>
References:  <Pine.NEB.3.96L.1050303133720.80219D-100000@fledge.watson.org> <200503040103.j2413CNr082179@apollo.backplane.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Matthew Dillon wrote:

>    The main reason we no longer swap the kernel stack is because there are
>    a whole lot of things we put on local thread stacks that other parts of the
>    system may reference even while the process is blocked.  e.g. token 
>    references, message structures, register or FP save state, and so forth.
>    I also intend to put cache related structures, such as range locks, on
>    the stack.  I just didn't want to have to worry about it.
>
>    Besides, it only happened when a process was actually *SWAPPED* out, not
>    just heavily paged, and how often does *that* happen these days?  Even
>    on a heavily loaded system only a handful of processes, mostly getty's
>    and long-idle interactive shells, might actually be swapped out.  This
>    makes the memory savings minimal at best.
>
>  
>
I always worry about swapping out kernel stack. my lastest kernel umtx 
code is broken by this.
I can not agree that per-mutex operation needs a pair of heavy malloc 
and free call, if kernel
mutex performance is important, why userland mutex shouldn't be ? If I 
have to use malloc,
I am afraid that I have to do more extra work than Linux does, I will 
fail under real world
benchmark like super-smack etcs.

>						-Matt
>
>
>  
>



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