lkml.org 
[lkml]   [2008]   [Jun]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: stack overflow on Sparc64
On Fri, 20 Jun 2008, David Miller wrote:

> From: Mikulas Patocka <mpatocka@redhat.com>
> Date: Fri, 20 Jun 2008 16:34:23 -0400 (EDT)
>
>> And what if network softirq happened here? How much stack does it consume?
>>
>> The whole overflowed stack trace has 75 functions, I was able to get rid
>> of 9 by avoiding bio_endio recursion and 10 by turning simple functions
>> into inlines. --- so is it enough or not enough for possible networking
>> calls?
>
> It should be OK, because the minimum stack of a (75 - 19) depth call
> chain is under 11K and within safe limits I believe.

I meant if some fancy networking options can eat those 19 frames that I
saved and crash again? I use the computer as a workstation, it doesn't
have high network load and it doesn't use any features except basic
TCP/IP.

>> Maybe a good thing would be to add a check for stack size to __do_softirq
>> and handing the softirq to ksoftirqd if there's not enough space.
>
> I'd rather it spit out a WARN_ON() message and a backtrace.
>
> Otherwise it will be considered a feature and people won't fix
> these deep call chains.

If you think that process context+network processing+hardirqs can fit into
75 nested functions... I really have no idea how much the networking
takes, given the amount of protocols and features and inability to test
them all in one lab, it looks very scary.

Mikulas


\
 
 \ /
  Last update: 2008-06-20 23:29    [from the cache]
©2003-2011 Jasper Spaans