[SPDK] Re: Any limitation on the number of inflight blob io requests?
Harris, James R <james.r.harris at intel.com>
| Newsgroups | dev.linux.lists.spdk |
|---|---|
| Message-ID | <[email protected]> |
Hi Niu,
Yes - there is a limitation. See spdk_bs_opts_init(). There is a max_channel_ops field that you can set if you need a higher limit on the number of outstanding I/O operations. Currently the default is 512, but you can increase it by changing the max_channel_ops value before initializing or loading the blobstore.
This was done by design, so that we could avoid memory allocations in the I/O path. These per-I/O data structures are allocated when the io_channel is created (spdk_bs_alloc_io_channel).
-Jim
On 3/11/20, 8:36 PM, "Niu, Yawei" <yawei.niu(a)intel.com> wrote:
Hi, All
Is there any limitation on the number of inflight blob io requests? I’m asking because we hit a problem like consecutively submitting more than 1000 blob reads (spdk_blob_io_read() calls), an ENOMEM error will be observed on the last read completion callback. Please be aware that’s just my speculation after reading some debug log, so the error isn’t necessary from SPDK, and our engineer is working on reproducer to narrow down the problem now, at the same time, I’d like to find out if there is any hard limitation on the number of inflight io requests by design?
Thanks
-Niu
_______________________________________________
SPDK mailing list -- spdk(a)lists.01.org
To unsubscribe send an email to spdk-leave(a)lists.01.org