Damn, I should have known that :( Thanks guys!! So I'll take the easy way out and just ask.. what's the most efficient way for an app, designed just this one for whatever reason, essentially relinquish control to the event reactor - is there a single call he can slip into the loop to give other pending events, if any a chance to run and if not continue on submitting? Thx Paul -----Original Message----- From: SPDK [mailto:spdk-bounces(a)lists.01.org] On Behalf Of Walker, Benjamin Sent: Wednesday, January 10, 2018 9:33 AM To: freeman.zhang1992(a)gmail.com; spdk(a)lists.01.org Subject: Re: [SPDK] Problem with Blobstore when write 65MB continously 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. _______________________________________________ SPDK mailing list SPDK(a)lists.01.org https://lists.01.org/mailman/listinfo/spdk