diff options
author | Or Gerlitz <ogerlitz@voltaire.com> | 2010-02-08 13:20:43 +0000 |
---|---|---|
committer | Roland Dreier <rolandd@cisco.com> | 2010-02-24 09:41:12 -0800 |
commit | 528f4e8c8341706a354ff96daf615e678e9b296f (patch) | |
tree | d6d1d1b4276af7f5548122c83fcd80dbc22a6334 /drivers/infiniband/ulp/iser/iser_memory.c | |
parent | f19624aa92003969ba822cd3c552800965aa530b (diff) | |
download | linux-rt-528f4e8c8341706a354ff96daf615e678e9b296f.tar.gz |
IB/iser: Use atomic allocations
Two minor flows in iSER's data path still use allocations; move them
to be atomic as a preperation step towards moving to use libiscsi
passthrough mode.
Signed-off-by: Or Gerlitz <ogerlitz@voltaire.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
Diffstat (limited to 'drivers/infiniband/ulp/iser/iser_memory.c')
-rw-r--r-- | drivers/infiniband/ulp/iser/iser_memory.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/infiniband/ulp/iser/iser_memory.c b/drivers/infiniband/ulp/iser/iser_memory.c index 5e32e8f1edf5..fb88d6896b67 100644 --- a/drivers/infiniband/ulp/iser/iser_memory.c +++ b/drivers/infiniband/ulp/iser/iser_memory.c @@ -53,10 +53,10 @@ static int iser_start_rdma_unaligned_sg(struct iscsi_iser_task *iser_task, unsigned long cmd_data_len = data->data_len; if (cmd_data_len > ISER_KMALLOC_THRESHOLD) - mem = (void *)__get_free_pages(GFP_NOIO, + mem = (void *)__get_free_pages(GFP_ATOMIC, ilog2(roundup_pow_of_two(cmd_data_len)) - PAGE_SHIFT); else - mem = kmalloc(cmd_data_len, GFP_NOIO); + mem = kmalloc(cmd_data_len, GFP_ATOMIC); if (mem == NULL) { iser_err("Failed to allocate mem size %d %d for copying sglist\n", |