Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 04 Mar 2005 11:20:36 -0800
From:      Julian Elischer <julian@elischer.org>
To:        Scott Long <scottl@samsco.org>
Cc:        David Schultz <das@FreeBSD.org>
Subject:   Re: cvs commit: src/sys/kern kern_sig.c
Message-ID:  <4228B504.7000302@elischer.org>
In-Reply-To: <4228AB27.3020204@samsco.org>
References:  <200503021343.j22DhpQ3075008@repoman.freebsd.org> <200503020915.28512.jhb@FreeBSD.org> <4226446B.7020406@freebsd.org> <61ac46c154aa515a692308440dd1141d@FreeBSD.org> <422710DD.1070203@freebsd.org> <422719E0.10703@samsco.org> <42279B6D.1000005@freebsd.org> <20050304182629.GA39457@VARK.MIT.EDU> <4228AB27.3020204@samsco.org>

next in thread | previous in thread | raw e-mail | index | archive | help


Scott Long wrote:

> David Schultz wrote:
>
>> On Fri, Mar 04, 2005, David Xu wrote:
>>
>>> Scott Long wrote:
>>>
>>>
>>>> David Xu wrote:
>>>>
>>>>
>>>>> John Baldwin wrote:
>>>>>
>>>>>
>>>>>> Note that swapping out the stack is the default behavior in 4.x, so
>>>>>> I actually think that the million lines of kernel code are indeed
>>>>>> safe, only sigwait() is broken and should be fixed. :)
>>>>>>
>>>>>
>>>>> Many 4.x programming skill can not be applied to FreeBSD current,
>>>>> they are so different, most of code in kern/ seems be completely
>>>>> rewritten. :=)
>>>>>
>>>>> David Xu
>>>>>
>>>>
>>>> I think you're making a much bigger deal out of this than it needs to
>>>> be.  Swapping the kernel stacks is important on real production 
>>>> systems.
>>>> FreeBSD has always been much better at handling low-memory situations
>>>> that most other OSes, and it's one of the things that has kept it
>>>> relevant in the server area.  A few 16K chunks might not seem like 
>>>> a lot
>>>> on a desktop system, but when you're talking about a server with
>>>> hundreds of ithreads and hundreds of user processes, it matters a 
>>>> quite
>>>> a bit.  Also, there is talk about increasing the default kstack 
>>>> size due
>>>> to all of the extra inlining that the compiler does with the -O2 
>>>> option
>>>> and the large recursion problems in the softdep code.  If we do this,
>>>> then being able to swap them out gets even more important.
>>>>
>>>
>>> I think your system is just a point that adding another 10M bytes 
>>> memory
>>
>>
>> [...]
>>
>> I suspect that the performance difference is not as great as some
>> people think, but the *real* question in my mind is:
>>
>>     Is there actually more than one instance of this bug?
>>
>> In 4.X, it's pretty clear that we got things right.  But I haven't
>> had time to follow KSE and other large projects since then to know
>> what developers thought the rules were when they wrote the code.
>> If there are problems of this nature all over the place, then
>> eliminating kstack swapping would be an easy way to bring the
>> reliability of 5.X closer to where we were with 4.X.  But if there
>> is only one bug, then it would be disingenuous to use it as an
>> excuse to kill a feature that has worked since day one.
>
>
> That's close to my position too.  I think it would be useful to
> investigate adding diagnostics to catch the unknown cases instead
> of just letting them turn into mystery panics.


for a start I'd like to add a sysctl to turn off swapping out kernel 
stacks..
then if someone had a reproducible or atleast 'common" problem,
we could suggest turning it off to see
if it fixes the problem.. that would be a big smoking gun..

>
> Scott



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