From dea3505dff1252b337eb1cb8744626fb0f796d86 Mon Sep 17 00:00:00 2001 From: Massimo Maggi Date: Thu, 11 Oct 2012 16:19:48 -0700 Subject: Switch KM_SLEEP to KM_PUSHPAGE In this particular instance the allocation occurred in the context of sys_msync()->...->zpl_putpage() where we must be careful not to initiate additional I/O. Signed-off-by: Massimo Maggi Signed-off-by: Brian Behlendorf --- module/spl/spl-tsd.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/module/spl/spl-tsd.c b/module/spl/spl-tsd.c index b43da7746..f5c579578 100644 --- a/module/spl/spl-tsd.c +++ b/module/spl/spl-tsd.c @@ -174,7 +174,7 @@ tsd_hash_add(tsd_hash_table_t *table, uint_t key, pid_t pid, void *value) ASSERT3P(tsd_hash_search(table, key, pid), ==, NULL); /* New entry allocate structure, set value, and add to hash */ - entry = kmem_alloc(sizeof(tsd_hash_entry_t), KM_SLEEP); + entry = kmem_alloc(sizeof(tsd_hash_entry_t), KM_PUSHPAGE); if (entry == NULL) SRETURN(ENOMEM); @@ -234,7 +234,7 @@ tsd_hash_add_key(tsd_hash_table_t *table, uint_t *keyp, dtor_func_t dtor) ASSERT3P(table, !=, NULL); /* Allocate entry to be used as a destructor for this key */ - entry = kmem_alloc(sizeof(tsd_hash_entry_t), KM_SLEEP); + entry = kmem_alloc(sizeof(tsd_hash_entry_t), KM_PUSHPAGE); if (entry == NULL) SRETURN(ENOMEM); @@ -293,7 +293,7 @@ tsd_hash_add_pid(tsd_hash_table_t *table, pid_t pid) SENTRY; /* Allocate entry to be used as the process reference */ - entry = kmem_alloc(sizeof(tsd_hash_entry_t), KM_SLEEP); + entry = kmem_alloc(sizeof(tsd_hash_entry_t), KM_PUSHPAGE); if (entry == NULL) SRETURN(ENOMEM); -- cgit v1.2.3