From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jens Axboe Subject: Re: [PATCH] block: flush queued bios when the process blocks Date: Tue, 27 May 2014 09:08:41 -0600 Message-ID: <5384AA79.4010206@kernel.dk> References: Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: Sender: linux-kernel-owner@vger.kernel.org To: Mikulas Patocka , Kent Overstreet Cc: linux-kernel@vger.kernel.org, dm-devel@redhat.com, "Alasdair G. Kergon" , Mike Snitzer List-Id: dm-devel.ids On 2014-05-27 09:03, Mikulas Patocka wrote: > The block layer uses per-process bio list to avoid recursion in > generic_make_request. When generic_make_request is called recursively, the > bio is added to current->bio_list and the function returns immediatelly. > The top-level instance of generic_make_requests takes bios from > current->bio_list and processes them. This really begs the question of why we just don't use the per-process plugs for this. We already have scheduler hooks in place to flush those at the appropriate time. Why are we reinventing something for essentially the same thing? -- Jens Axboe