Re: block: fix blk_queue_split() resource exhaustion

2016-07-08 Thread Mike Snitzer
On Fri, Jul 08 2016 at 8:52am -0400, Lars Ellenberg wrote: > On Fri, Jul 08, 2016 at 07:08:32PM +0800, Ming Lei wrote: > > > So after processing a particular bio, we should then process all the > > > 'child' bios - bios send to underlying devices. Then the 'sibling' > > > bios, that were split

Re: block: fix blk_queue_split() resource exhaustion

2016-07-07 Thread NeilBrown
On Thu, Jul 07 2016, Mike Snitzer wrote: > On Thu, Jul 07 2016 at 1:35am -0400, > NeilBrown wrote: > >> On Wed, Jun 22 2016, Lars Ellenberg wrote: >> >> > For a long time, generic_make_request() converts recursion into >> > iteration by queuing recursive arguments on current->bio_list. >> > >>

Re: block: fix blk_queue_split() resource exhaustion

2016-07-07 Thread Mike Snitzer
On Wed, Jun 22 2016 at 4:22am -0400, Lars Ellenberg wrote: > For a long time, generic_make_request() converts recursion into > iteration by queuing recursive arguments on current->bio_list. > > This is convenient for stacking drivers, > the top-most driver would take the originally submitted bi

Re: block: fix blk_queue_split() resource exhaustion

2016-07-07 Thread Mike Snitzer
On Thu, Jul 07 2016 at 8:39am -0400, Lars Ellenberg wrote: > On Thu, Jul 07, 2016 at 10:16:16AM +0200, Lars Ellenberg wrote: > > > > Instead, I suggest to distinguish between recursive calls to > > > > generic_make_request(), and pushing back the remainder part in > > > > blk_queue_split(), by p

Re: block: fix blk_queue_split() resource exhaustion

2016-07-07 Thread Mike Snitzer
On Thu, Jul 07 2016 at 1:35am -0400, NeilBrown wrote: > On Wed, Jun 22 2016, Lars Ellenberg wrote: > > > For a long time, generic_make_request() converts recursion into > > iteration by queuing recursive arguments on current->bio_list. > > > > This is convenient for stacking drivers, > > the to

Re: block: fix blk_queue_split() resource exhaustion

2016-06-28 Thread Lars Ellenberg
On Fri, Jun 24, 2016 at 11:15:47AM -0400, Mike Snitzer wrote: > On Fri, Jun 24 2016 at 10:27am -0400, > Lars Ellenberg wrote: > > > On Fri, Jun 24, 2016 at 07:36:57PM +0800, Ming Lei wrote: > > > > > > > > This is not a theoretical problem. > > > > At least int DRBD, and an unfortunately high IO

Re: block: fix blk_queue_split() resource exhaustion

2016-06-24 Thread Mike Snitzer
On Fri, Jun 24 2016 at 10:27am -0400, Lars Ellenberg wrote: > On Fri, Jun 24, 2016 at 07:36:57PM +0800, Ming Lei wrote: > > > > > > This is not a theoretical problem. > > > At least int DRBD, and an unfortunately high IO concurrency wrt. the > > > "max-buffers" setting, without this patch we have