Re: stack overflow on Sparc64

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 20 Jun 2008, David Miller wrote:

From: Mikulas Patocka <mpatocka@xxxxxxxxxx>
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
--
To unsubscribe from this list: send the line "unsubscribe sparclinux" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Kernel Development]     [DCCP]     [Linux ARM Development]     [Linux]     [Photo]     [Yosemite Help]     [Linux ARM Kernel]     [Linux SCSI]     [Linux x86_64]     [Linux Hams]

  Powered by Linux