aboutsummaryrefslogtreecommitdiffstats
path: root/module/avl
diff options
context:
space:
mode:
authorBrian Behlendorf <[email protected]>2011-04-22 10:12:49 -0700
committerBrian Behlendorf <[email protected]>2011-04-26 13:37:35 -0700
commit7a060636b05655cccd87ce74d70e5957bb234e5e (patch)
treed2ddc53f9ae1c9b3763de90f9933bc6645971053 /module/avl
parent44e9e3479388ee16f39253e8c3f8f6625324dfc6 (diff)
Conserve stack in dsl_scan_visitbp()
The recursive call chain dsl_scan_visitbp() -> dsl_scan_recurse() -> dsl_scan_visitdnode() -> dsl_scan_visitbp has been observed to consume considerable stack resulting in a stack overflow (>8k). The cleanest way I see to fix this with minimal impact to the existing flow of code, and with the fewest performance concerns, is to always inline dsl_scan_recurse() and dsl_scan_visitdnode(). While this will increase the function size of dsl_scan_visitbp(), by 4660 bytes, it also reduces the stack requirements by removing the function call overhead. Issue #174
Diffstat (limited to 'module/avl')
0 files changed, 0 insertions, 0 deletions