[SPDK] Re: "nvmf_create_transport" fails with 16 cores

Yang, Ziye <ziye.yang at intel.com>
Newsgroups dev.linux.lists.spdk
Message-ID <BN6PR11MB40814A96726C182F54324BA0FFA30@BN6PR11MB4081.namprd11.prod.outlook.com>
Hi Charlie,

Two definitions in tcp.c

#define SPDK_NVMF_TCP_DEFAULT_NUM_SHARED_BUFFERS 511
#define SPDK_NVMF_TCP_DEFAULT_BUFFER_CACHE_SIZE 32

If you create 16 cores, then the total buffer size for different polling groups are:  32*16 = 512 (512 > 511),  

The hint is : 

" tcp.c: 604:nvmf_tcp_create: *ERROR*: Please specify a larger number of shared buffers "

So when you create your transport with TCP,

You need to enlarge the total shared buffer size by -n such as -n 1024,
nvmf_create_transport -t TCP -n 1014

 then this issue will not happen, this is not a bug.




Best Regards,
Ziye Yang

-----Original Message-----
From: Luse, Paul E <paul.e.luse(a)intel.com> 
Sent: Tuesday, January 19, 2021 5:19 AM
To: Storage Performance Development Kit <spdk(a)lists.01.org>
Subject: [SPDK] Re: "nvmf_create_transport" fails with 16 cores

Oh gotcha ☺  Sure, it’s a holiday in the US today and I’m on my way out the door.  If you don’t get an answer by the time I logon tomorrow morning I’ll do that and see what happens on this end.  Thanks!!

-Paul

From: Charlie Li <charlie.li(a)gmail.com>
Date: Monday, January 18, 2021 at 2:11 PM
To: Storage Performance Development Kit <spdk(a)lists.01.org>
Subject: [SPDK] Re: "nvmf_create_transport" fails with 16 cores Thanks Paul, I have more than 16 cores. I don't have any problem starting the target with 16 or more cores.
But when I try to create a TCP transport after the target is started, it fails. Can you try "sudo ./scripts/rpc.py nvmf_create_transport -t TCP" on your system?

Charlie


On Mon, Jan 18, 2021 at 2:57 PM Luse, Paul E <paul.e.luse(a)intel.com> wrote:

> This might sound like a dumb question but how many physical cores do 
> you have? I just fire up the target on 32 w/o problems:
>
> sudo ./build/bin/nvmf_tgt -m 0xffffffff
>
> …
>
> [2021-01-18 15:56:41.042423] app.c: 536:spdk_app_start: *NOTICE*: 
> Total cores available: 32
> [2021-01-18 15:56:41.205684] reactor.c: 699:reactor_run: *NOTICE*: 
> Reactor started on core 1
> [2021-01-18 15:56:41.206424] reactor.c: 699:reactor_run: *NOTICE*: 
> Reactor started on core 2
> [2021-01-18 15:56:41.206963] reactor.c: 699:reactor_run: *NOTICE*: 
> Reactor started on core 3
> [2021-01-18 15:56:41.207589] reactor.c: 699:reactor_run: *NOTICE*: 
> Reactor started on core 4
> [2021-01-18 15:56:41.208210] reactor.c: 699:reactor_run: *NOTICE*: 
> Reactor started on core 5
> [2021-01-18 15:56:41.208828] reactor.c: 699:reactor_run: *NOTICE*: 
> Reactor started on core 6
> [2021-01-18 15:56:41.209481] reactor.c: 699:reactor_run: *NOTICE*: 
> Reactor started on core 7
> [2021-01-18 15:56:41.210092] reactor.c: 699:reactor_run: *NOTICE*: 
> Reactor started on core 8
> [2021-01-18 15:56:41.210723] reactor.c: 699:reactor_run: *NOTICE*: 
> Reactor started on core 9
> [2021-01-18 15:56:41.211361] reactor.c: 699:reactor_run: *NOTICE*: 
> Reactor started on core 10
> [2021-01-18 15:56:41.212071] reactor.c: 699:reactor_run: *NOTICE*: 
> Reactor started on core 11
> [2021-01-18 15:56:41.212882] reactor.c: 699:reactor_run: *NOTICE*: 
> Reactor started on core 12
> [2021-01-18 15:56:41.213586] reactor.c: 699:reactor_run: *NOTICE*: 
> Reactor started on core 13
> [2021-01-18 15:56:41.214310] reactor.c: 699:reactor_run: *NOTICE*: 
> Reactor started on core 14
> [2021-01-18 15:56:41.215053] reactor.c: 699:reactor_run: *NOTICE*: 
> Reactor started on core 15
> [2021-01-18 15:56:41.215987] reactor.c: 699:reactor_run: *NOTICE*: 
> Reactor started on core 16
> [2021-01-18 15:56:41.216847] reactor.c: 699:reactor_run: *NOTICE*: 
> Reactor started on core 17
> [2021-01-18 15:56:41.217799] reactor.c: 699:reactor_run: *NOTICE*: 
> Reactor started on core 18
> [2021-01-18 15:56:41.218646] reactor.c: 699:reactor_run: *NOTICE*: 
> Reactor started on core 19
> [2021-01-18 15:56:41.219347] reactor.c: 699:reactor_run: *NOTICE*: 
> Reactor started on core 20
> [2021-01-18 15:56:41.220023] reactor.c: 699:reactor_run: *NOTICE*: 
> Reactor started on core 21
> [2021-01-18 15:56:41.220869] reactor.c: 699:reactor_run: *NOTICE*: 
> Reactor started on core 22
> [2021-01-18 15:56:41.221797] reactor.c: 699:reactor_run: *NOTICE*: 
> Reactor started on core 23
> [2021-01-18 15:56:41.222801] reactor.c: 699:reactor_run: *NOTICE*: 
> Reactor started on core 24
> [2021-01-18 15:56:41.223822] reactor.c: 699:reactor_run: *NOTICE*: 
> Reactor started on core 25
> [2021-01-18 15:56:41.224711] reactor.c: 699:reactor_run: *NOTICE*: 
> Reactor started on core 26
> [2021-01-18 15:56:41.225398] reactor.c: 699:reactor_run: *NOTICE*: 
> Reactor started on core 27
> [2021-01-18 15:56:41.226399] reactor.c: 699:reactor_run: *NOTICE*: 
> Reactor started on core 28
> [2021-01-18 15:56:41.227232] reactor.c: 699:reactor_run: *NOTICE*: 
> Reactor started on core 29
> [2021-01-18 15:56:41.228311] reactor.c: 699:reactor_run: *NOTICE*: 
> Reactor started on core 30
> [2021-01-18 15:56:41.229336] reactor.c: 699:reactor_run: *NOTICE*: 
> Reactor started on core 31
> [2021-01-18 15:56:41.230389] reactor.c: 699:reactor_run: *NOTICE*: 
> Reactor started on core 0
> [2021-01-18 15:56:41.231103] accel_engine.c:
> 692:spdk_accel_engine_initialize: *NOTICE*: Accel engine initialized 
> to use software engine.
>
> From: Charlie Li <charlie.li(a)gmail.com>
> Date: Monday, January 18, 2021 at 1:47 PM
> To: spdk(a)lists.01.org <spdk(a)lists.01.org>
> Subject: [SPDK] "nvmf_create_transport" fails with 16 cores Hello,
>
> I am using SPDK 20.10 - "Starting SPDK v20.10 git sha1 e5d26ecc2 / 
> DPDK
> 20.08.0 initialization..."
>
> If I start SPDK NVMe-oF target with 15 cores - "sudo 
> ./build/bin/nvmf_tgt -m 0x7FFF", "sudo ./scripts/rpc.py 
> nvmf_create_transport -t TCP" works fine.
>
> If I start SPDK NVMe-oF target with 16 cores - "sudo 
> ./build/bin/nvmf_tgt -m 0xFFFF", "sudo ./scripts/rpc.py 
> nvmf_create_transport -t TCP" fails with the following message
>
> request:
> {
>   "trtype": "TCP",
>   "c2h_success": true,
>   "no_wr_batching": false,
>   "method": "nvmf_create_transport",
>   "req_id": 1
> }
> Got JSON-RPC error response
> response:
> {
>   "code": -32603,
>   "message": "Transport type 'TCP' create failed"
> }
>
> Is there any way to use 16 or more cores?
>
> Thanks,
> Charlie
> _______________________________________________
> SPDK mailing list -- spdk(a)lists.01.org To unsubscribe send an email to 
> spdk-leave(a)lists.01.org 
> _______________________________________________
> SPDK mailing list -- spdk(a)lists.01.org To unsubscribe send an email to 
> spdk-leave(a)lists.01.org
>
_______________________________________________
SPDK mailing list -- spdk(a)lists.01.org
To unsubscribe send an email to spdk-leave(a)lists.01.org _______________________________________________
SPDK mailing list -- spdk(a)lists.01.org
To unsubscribe send an email to spdk-leave(a)lists.01.org
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.