mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-05-22 02:27:36 +03:00
Speed up zvol import and export speed
Speed up import and export speed by: * Add system delay taskq * Parallel prefetch zvol dnodes during zvol_create_minors * Parallel zvol_free during zvol_remove_minors * Reduce list linear search using ida and hash Reviewed-by: Boris Protopopov <boris.protopopov@actifio.com> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Chunwei Chen <david.chen@osnexus.com> Closes #5433
This commit is contained in:
@@ -32,6 +32,7 @@
|
||||
|
||||
int taskq_now;
|
||||
taskq_t *system_taskq;
|
||||
taskq_t *system_delay_taskq;
|
||||
|
||||
#define TASKQ_ACTIVE 0x00010000
|
||||
|
||||
@@ -353,6 +354,8 @@ system_taskq_init(void)
|
||||
{
|
||||
system_taskq = taskq_create("system_taskq", 64, maxclsyspri, 4, 512,
|
||||
TASKQ_DYNAMIC | TASKQ_PREPOPULATE);
|
||||
system_delay_taskq = taskq_create("delay_taskq", 4, maxclsyspri, 4,
|
||||
512, TASKQ_DYNAMIC | TASKQ_PREPOPULATE);
|
||||
}
|
||||
|
||||
void
|
||||
@@ -360,4 +363,6 @@ system_taskq_fini(void)
|
||||
{
|
||||
taskq_destroy(system_taskq);
|
||||
system_taskq = NULL; /* defensive */
|
||||
taskq_destroy(system_delay_taskq);
|
||||
system_delay_taskq = NULL;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user