[openib-general] [PATCH 3/6] [RFC] iser initiator
Or Gerlitz
ogerlitz at voltaire.com
Mon Feb 27 05:21:20 PST 2006
Christoph Hellwig wrote:
>> +static int iser_post_receive_control(struct iscsi_iser_conn *p_iser_conn)
...
>> + rx_desc = kmem_cache_alloc(ig.desc_cache,
>> + GFP_KERNEL | __GFP_NOFAIL);
> __GFP_NOFAIL doesn't work for slab (kmem_cache_alloc/kmalloc/kzalloc/kcalloc)
> allocations
DONE, in r5505
>> +send_data_out_error:
>> + if (p_send_dto != NULL)
>> + iser_dto_buffs_release(p_send_dto);
>> + if (tx_desc != NULL)
>> + kmem_cache_free(ig.desc_cache, tx_desc);
>
> could you please do the same goto-unwinding style we use elsewhere
> in the kernel? That is one label before each unwind step and jump
> directly to that instead of adding tons of conditionals in the error path.
DONE, in r5507
------------------------------------------------------------------------
r5507 | ogerlitz | 2006-02-27 15:27:37 +0200 (Mon, 27 Feb 2006) | 4 lines
goto-unwinding style - use few goto labels without if()s between them
Signed-off-by: Or Gerlitz <ogerlitz at voltaire.com>
------------------------------------------------------------------------
r5505 | ogerlitz | 2006-02-27 14:48:53 +0200 (Mon, 27 Feb 2006) | 6 lines
don't use __GFP_NOFAIL flag for memory allocations,also one page_vec
is pre-allocated per struct iser_conn and used for all fmr maps done
on behalf of this connection, this is possible since tx is serialized.
Signed-off-by: Or Gerlitz <ogerlitz at voltaire.com>
------------------------------------------------------------------------
More information about the general
mailing list