Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 13 Dec 2017 02:28:55 +0700
From:      Eugene Grosbein <eugen@grosbein.net>
To:        rgrimes@freebsd.org, Andriy Gapon <avg@freebsd.org>
Cc:        Don Lewis <truckman@freebsd.org>, Alexey Dokuchaev <danfe@freebsd.org>, Konstantin Belousov <kostikbel@gmail.com>, svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, Conrad Meyer <cem@freebsd.org>
Subject:   Re: svn commit: r326758 - in head/sys/i386: conf include
Message-ID:  <5A302DF7.1090706@grosbein.net>
In-Reply-To: <201712121732.vBCHW5UR087312@pdx.rh.CN85.dnsmgr.net>
References:  <201712121732.vBCHW5UR087312@pdx.rh.CN85.dnsmgr.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On 13.12.2017 00:32, Rodney W. Grimes wrote:

>> I am not sure if there are tools that can analyze stack requirements for
>> possible call chains rather than individual functions.
> 
> Call graphs can be used to find deep chains.  Combine the above
> with a call graph and we should be able to come up with some
> data.
> 
> This also sounds like a good caniate for GSOC, creation
> of a call graph with static analysis of local variable size +
> call frame size requirements as a O(1) stack space estimator.

"Longitude" of call chain greatly depends of run-time system configuration.
For example, application sendto() call can result in variable number
of system calls performing IPSEC transformations (ESP, AH, IPCOMP)
then custom PFIL processing then multiple NETGRAPH calls then complex
WiFi stack operations and each of such calls can result in kernel stack exhaustion.




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5A302DF7.1090706>