On Wed, 2018-01-10 at 16:21 +0000, Harris, James R wrote: > Hi Paul and Zhengyu, > > The problem is that the app is not giving the block device a chance to > complete any I/O while submitting the 520 back-to-back requests. Blobstore is > passive here – it does not do any polling on the block device – that is up to > the application. To additionally clarify - the bdev layer will poll for completions on your behalf, but it does so on the same thread that you are submitting I/O from. If you are in a tight loop submitting I/O and never yield back to the event reactor, the polling won't have a chance to occur. You can either increase the number of reqs per channel or submit smaller batches at a time. Basically, do what Jim said below. > Increasing the number of channel reqs would work – but at some point these > will still run out. So it really depends on your application – either > increase the channel reqs to the absolutely maximum you will ever need, or add > ENOMEM handling.