FreeBSD 5.3 crash (core with debug symbols available)
Scott Long
scottl at samsco.org
Fri Mar 4 01:50:35 GMT 2005
David Xu wrote:
> 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.
>
Can you provide a reference for the umtx problem? There might be a
reasonable solution.
Scott
More information about the freebsd-current
mailing list