HomeFreeBSD

Conserve stack in dsl_scan_visit()

Description

Conserve stack in dsl_scan_visit()

The dsl_scan_visit() function is a little heavy weight taking 464
bytes on the stack. This can be easily reduced for little cost by
moving zap_cursor_t and zap_attribute_t off the stack and on to the
heap. After this change dsl_scan_visit() has been reduced in size
by 320 bytes.

This change was made to reduce stack usage in the dsl_scan_sync()
callpath which is recursive and has been observed to overflow the
stack.

Issue #174

Details

Provenance
Brian Behlendorf <behlendorf1@llnl.gov>Authored on Apr 26 2011, 9:56 PM
Parents
rGb81c4ac9af4f: Conserve stack in dsl_scan_visitbp()
Branches
Unknown
Tags
Unknown

Event Timeline

Brian Behlendorf <behlendorf1@llnl.gov> committed rG40a39e1103bb: Conserve stack in dsl_scan_visit() (authored by Brian Behlendorf <behlendorf1@llnl.gov>).Apr 26 2011, 10:48 PM