[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
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.