[PATCH] nvmet-tcp: get rid of a high-order allocation

Hannes Reinecke hare at suse.de
Fri Sep 6 01:24:48 PDT 2024


On 9/6/24 09:28, Sagi Grimberg wrote:
> 
> 
> 
> On 26/08/2024 15:03, Sagi Grimberg wrote:
>> Allocating the queue commands array leads to a high order
>> allocation.
>>
>> The current size of nvmet_tcp_cmd is 704 bytes. Allocating
>> 128 of those (default queue depth) means that we are allocating
>> an array of 90K bytes. There is no reason why this will be
>> a single contiguous allocation. Change the allocation to be
>> kvcalloc instead.
>>
>> Signed-off-by: Sagi Grimberg <sagi at grimberg.me>
>> ---
>> Hannes, I did not test tls (I wish there were blktests for it)
>> Can you please double check that nothing breaks? Given that now
>> cmd->recv_cbuf is coming from a virtually contiguous allocation
>> (which shouldn't be a problem as far as I can tell...)
> 
> Hannes, can you assist here please?

Sure. I'm just about to respin my tls patches, and will give this
one a spin, too.

Cheers,

Hannes
-- 
Dr. Hannes Reinecke                  Kernel Storage Architect
hare at suse.de                                +49 911 74053 688
SUSE Software Solutions GmbH, Frankenstr. 146, 90461 Nürnberg
HRB 36809 (AG Nürnberg), GF: I. Totev, A. McDonald, W. Knoblich




More information about the Linux-nvme mailing list