diff options
author | Massimo Maggi <[email protected]> | 2012-10-11 16:19:48 -0700 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2012-10-11 16:22:29 -0700 |
commit | dea3505dff1252b337eb1cb8744626fb0f796d86 (patch) | |
tree | f8e3339f250ba64467b1205c30b491ca31d7ebd1 | |
parent | bbdc6ae49518a4be7230ab673370e9231e2f72e7 (diff) |
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 <[email protected]>
Signed-off-by: Brian Behlendorf <[email protected]>
-rw-r--r-- | module/spl/spl-tsd.c | 6 |
1 files 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); |