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>
This commit is contained in:
		
							parent
							
								
									f19624aa92
								
							
						
					
					
						commit
						528f4e8c83
					
				| @ -373,7 +373,7 @@ int iser_send_data_out(struct iscsi_conn *conn, | ||||
| 	iser_dbg("%s itt %d dseg_len %d offset %d\n", | ||||
| 		 __func__,(int)itt,(int)data_seg_len,(int)buf_offset); | ||||
| 
 | ||||
| 	tx_desc = kmem_cache_zalloc(ig.desc_cache, GFP_NOIO); | ||||
| 	tx_desc = kmem_cache_zalloc(ig.desc_cache, GFP_ATOMIC); | ||||
| 	if (tx_desc == NULL) { | ||||
| 		iser_err("Failed to alloc desc for post dataout\n"); | ||||
| 		return -ENOMEM; | ||||
|  | ||||
| @ -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", | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user