[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