From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756541AbZEJVsi (ORCPT ); Sun, 10 May 2009 17:48:38 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1754313AbZEJVsZ (ORCPT ); Sun, 10 May 2009 17:48:25 -0400 Received: from mail-bw0-f174.google.com ([209.85.218.174]:33359 "EHLO mail-bw0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752174AbZEJVsY (ORCPT ); Sun, 10 May 2009 17:48:24 -0400 DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=from:to:subject:date:user-agent:cc:references:in-reply-to :mime-version:content-type:content-transfer-encoding :content-disposition:message-id; b=JSFZqMkgVpQRPAVJSjjlV+GTGrKSXO7Vd3knq/Ttrsl8SbWIFG/Rzxcmf3w5CzTxg7 arCRsLjAAj8HHGfYeZ2xnBuoG/T1AZ/82ZR9iKIUVWPMYBAakPACK0cTT/E+qTiOGvP4 uHaBfWwa5sTAW+eybpLrTJPtrXn65kjw+gFOc= From: Bartlomiej Zolnierkiewicz To: Tejun Heo Subject: Re: [PATCH 18/18] block: implement and enforce request peek/start/fetch Date: Sun, 10 May 2009 23:52:32 +0200 User-Agent: KMail/1.11.2 (Linux/2.6.30-rc3-00442-ga3668b0; KDE/4.2.2; i686; ; ) Cc: linux-kernel@vger.kernel.org, linux-scsi@vger.kernel.org, linux-ide@vger.kernel.org, rusty@rustcorp.com.au, James.Bottomley@hansenpartnership.com, mike.miller@hp.com, donari75@gmail.com, paul.clements@steeleye.com, tim@cyberelk.net, Geert.Uytterhoeven@sonycom.com, davem@davemloft.net, Laurent@lvivier.info, jgarzik@pobox.com, jeremy@xensource.com, grant.likely@secretlab.ca, adrian@mcmen.demon.co.uk, sfr@canb.auug.org.au, petkovbb@googlemail.com, sshtylyov@ru.mvista.com, oakad@yahoo.com, drzeus@drzeus.cx, dwmw2@infradead.org, Markus.Lidel@shadowconnect.com, wein@de.ibm.com, schwidefsky@de.ibm.com, zaitcev@redhat.com, fujita.tomonori@lab.ntt.co.jp, axboe@kernel.dk References: <1241751256-17435-1-git-send-email-tj@kernel.org> <1241751256-17435-19-git-send-email-tj@kernel.org> In-Reply-To: <1241751256-17435-19-git-send-email-tj@kernel.org> MIME-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-15" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200905102352.33478.bzolnier@gmail.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Friday 08 May 2009 04:54:16 Tejun Heo wrote: > Till now block layer allowed two separate modes of request execution. > A request is always acquired from the request queue via > elv_next_request(). After that, drivers are free to either dequeue it > or process it without dequeueing. Dequeue allows elv_next_request() > to return the next request so that multiple requests can be in flight. > > Executing requests without dequeueing has its merits mostly in > allowing drivers for simpler devices which can't do sg to deal with > segments only without considering request boundary. However, the > benefit this brings is dubious and declining while the cost of the API > ambiguity is increasing. Segment based drivers are usually for very > old or limited devices and as converting to dequeueing model isn't > difficult, it doesn't justify the API overhead it puts on block layer > and its more modern users. > > Previous patches converted all block low level drivers to dequeueing > model. This patch completes the API transition by... > > * renaming elv_next_request() to blk_peek_request() > > * renaming blkdev_dequeue_request() to blk_start_request() > > * adding blk_fetch_request() which is combination of peek and start > > * disallowing completion of queued (not started) requests > > * applying new API to all LLDs > > Renamings are for consistency and to break out of tree code so that > it's apparent that out of tree drivers need updating. > > [ Impact: block request issue API cleanup, no functional change ] > > Signed-off-by: Tejun Heo Acked-by: Bartlomiej Zolnierkiewicz