Only reduce __zio_execute() stack usage in kernel space
authorBrian Behlendorf <behlendorf1@llnl.gov>
Wed, 9 Jan 2013 00:16:46 +0000 (16:16 -0800)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Wed, 9 Jan 2013 18:34:35 +0000 (10:34 -0800)
Related to 91579709fccd3e55a21970742b66c388fb1403db we need to
be very careful about not overrunning the stack in kernel space.
However, in user space we're already allowing slightly larger
stacks so this stack usage optimization is not required there.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
module/zfs/zio.c

index 638105a..dab417c 100644 (file)
@@ -1281,6 +1281,7 @@ __zio_execute(zio_t *zio)
                        return;
                }
 
+#ifdef _KERNEL
                /*
                 * If we executing in the context of the tx_sync_thread,
                 * or we are performing pool initialization outside of a
@@ -1293,6 +1294,7 @@ __zio_execute(zio_t *zio)
                        zio_taskq_dispatch(zio, ZIO_TASKQ_ISSUE, cut);
                        return;
                }
+#endif
 
                zio->io_stage = stage;
                rv = zio_pipeline[highbit(stage) - 1](zio);