mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2024-12-26 03:09:34 +03:00
splat taskq:front: Reduce stack frame
The slightly increased size of the taskq_ent_t when debugging is enabled has pushed the taskq:front splat test over frame size limit. To resolve this dynamically allocate the taskq_ent_t structures so they are part of the heap instead of the stack. In function 'splat_taskq_test6_impl' error: the frame size of 1648 bytes is larger than 1024 bytes Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
This commit is contained in:
parent
94ff5d38e3
commit
a5a98e7260
@ -828,10 +828,13 @@ splat_taskq_test6_impl(struct file *file, void *arg, boolean_t prealloc)
|
|||||||
splat_taskq_id_t tq_id[SPLAT_TASKQ_ORDER_MAX];
|
splat_taskq_id_t tq_id[SPLAT_TASKQ_ORDER_MAX];
|
||||||
splat_taskq_arg_t tq_arg;
|
splat_taskq_arg_t tq_arg;
|
||||||
int order[SPLAT_TASKQ_ORDER_MAX] = { 1,2,3,6,7,8,4,5 };
|
int order[SPLAT_TASKQ_ORDER_MAX] = { 1,2,3,6,7,8,4,5 };
|
||||||
taskq_ent_t tqes[SPLAT_TASKQ_ORDER_MAX];
|
taskq_ent_t *tqes;
|
||||||
int i, rc = 0;
|
int i, rc = 0;
|
||||||
uint_t tflags;
|
uint_t tflags;
|
||||||
|
|
||||||
|
tqes = kmem_alloc(sizeof(*tqes) * SPLAT_TASKQ_ORDER_MAX, KM_SLEEP);
|
||||||
|
memset(tqes, 0, sizeof(*tqes) * SPLAT_TASKQ_ORDER_MAX);
|
||||||
|
|
||||||
splat_vprint(file, SPLAT_TASKQ_TEST6_NAME,
|
splat_vprint(file, SPLAT_TASKQ_TEST6_NAME,
|
||||||
"Taskq '%s' creating (%s dispatch)\n",
|
"Taskq '%s' creating (%s dispatch)\n",
|
||||||
SPLAT_TASKQ_TEST6_NAME,
|
SPLAT_TASKQ_TEST6_NAME,
|
||||||
@ -899,6 +902,8 @@ out:
|
|||||||
"Taskq '%s' destroying\n", tq_arg.name);
|
"Taskq '%s' destroying\n", tq_arg.name);
|
||||||
taskq_destroy(tq);
|
taskq_destroy(tq);
|
||||||
|
|
||||||
|
kmem_free(tqes, sizeof(*tqes) * SPLAT_TASKQ_ORDER_MAX);
|
||||||
|
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user