From mboxrd@z Thu Jan 1 00:00:00 1970 From: James Bottomley Subject: Re: [PATCH scsi-misc-2.6 03/05] scsi: make scsi_queue_insert() use blk_requeue_request() Date: Wed, 20 Apr 2005 19:24:06 -0400 Message-ID: <1114039446.5933.17.camel@mulgrave> References: <20050419231435.D85F89C0@htj.dyndns.org> <20050419231435.329FA30B@htj.dyndns.org> Mime-Version: 1.0 Content-Type: text/plain Content-Transfer-Encoding: 7bit Return-path: Received: from stat16.steeleye.com ([209.192.50.48]:63399 "EHLO hancock.sc.steeleye.com") by vger.kernel.org with ESMTP id S261838AbVDTXYS (ORCPT ); Wed, 20 Apr 2005 19:24:18 -0400 In-Reply-To: <20050419231435.329FA30B@htj.dyndns.org> Sender: linux-scsi-owner@vger.kernel.org List-Id: linux-scsi@vger.kernel.org To: Tejun Heo Cc: Jens Axboe , Christoph Hellwig , SCSI Mailing List , Linux Kernel On Wed, 2005-04-20 at 08:15 +0900, Tejun Heo wrote: > - * Insert this command at the head of the queue for it's device. > - * It will go before all other commands that are already in the queue. > - * > - * NOTE: there is magic here about the way the queue is plugged if > - * we have no outstanding commands. > - * > - * Although this *doesn't* plug the queue, it does call the request > - * function. The SCSI request function detects the blocked condition > - * and plugs the queue appropriately. This comment still looks appropriate to me ... why do you want to remove it? > + * Requeue the command. > */ > - blk_insert_request(device->request_queue, cmd->request, 1, cmd, 1); > + spin_lock_irqsave(q->queue_lock, flags); > + blk_requeue_request(q, cmd->request); > + spin_unlock_irqrestore(q->queue_lock, flags); > + > + scsi_run_queue(q); Really, wouldn't it be much more efficient simply to call blk_run_queue ()? since the blocked flags were set above, that's pretty much what scsi_run_queue() collapses to. James