Inline zio_execute() to reduce stack use
Deep recursive call chains are contributing to segfaults in ztest due to heavy stack use. Inlining zio_execute() helps reduce the stack depth of the zio_notify_parent() -> zio_execute() -> zio_wait() recursive cycle. I am no longer seeing ztest segfaults in this code path with this change. Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
This commit is contained in:
parent
526d004cf5
commit
411dd65af1
|
@ -1119,7 +1119,8 @@ zio_interrupt(zio_t *zio)
|
|||
*/
|
||||
static zio_pipe_stage_t *zio_pipeline[];
|
||||
|
||||
void
|
||||
__attribute__((always_inline))
|
||||
inline void
|
||||
zio_execute(zio_t *zio)
|
||||
{
|
||||
zio->io_executor = curthread;
|
||||
|
|
Loading…
Reference in New Issue