All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mike Anderson <andmike@linux.vnet.ibm.com>
To: Tejun Heo <tj@kernel.org>
Cc: Jens Axboe <jens.axboe@oracle.com>,
	James Bottomley <James.Bottomley@HansenPartnership.com>,
	linux-scsi <linux-scsi@vger.kernel.org>,
	Linux Kernel <linux-kernel@vger.kernel.org>,
	Hannes Reinecke <hare@suse.de>
Subject: Re: [PATCH 2.6.28-rc6] block: internal dequeue shouldn't start timer
Date: Mon, 1 Dec 2008 15:45:29 -0800	[thread overview]
Message-ID: <20081201234529.GA14025@linux.vnet.ibm.com> (raw)
In-Reply-To: <492F6DFC.3010103@kernel.org>

Tejun Heo <tj@kernel.org> wrote:
> blkdev_dequeue_request() and elv_dequeue_request() are equivalent and
> both start the timeout timer.  Barrier code dequeues the original
> barrier request but doesn't passes the request itself to lower level
> driver, only broken down proxy requests; however, as the original
> barrier code goes through the same dequeue path and timeout timer is
> started on it.  If barrier sequence takes long enough, this timer
> expires but the low level driver has no idea about this request and
> oops follows.
> 
> Timeout timer shouldn't have been started on the original barrier
> request as it never goes through actual IO.  This patch unexports
> elv_dequeue_request(), which has no external user anyway, and makes it
> operate on elevator proper w/o adding the timer and make
> blkdev_dequeue_request() call elv_dequeue_request() and add timer.
> Internal users which don't pass the request to driver - barrier code
> and end_that_request_last() - are converted to use
> elv_dequeue_request().
> 
> Signed-off-by: Tejun Heo <tj@kernel.org>
> Cc: Mike Anderson <andmike@linux.vnet.ibm.com>
> ---
> Mike, this should fix the problem you were seeing (blk_add_timer on
> requests w/o REQ_STARTED set).
> 

Yes this fixed the "w/o REQ_STARTED" error I was seeing on a distro kernel
and a mainline system. 

Thanks,

-andmike
--
Michael Anderson
andmike@linux.vnet.ibm.com

  reply	other threads:[~2008-12-01 23:45 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-11-28  4:05 [PATCH 2.6.28-rc6] block: internal dequeue shouldn't start timer Tejun Heo
2008-11-28  4:05 ` Tejun Heo
2008-12-01 23:45 ` Mike Anderson [this message]
2008-12-03 11:36   ` Jens Axboe

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20081201234529.GA14025@linux.vnet.ibm.com \
    --to=andmike@linux.vnet.ibm.com \
    --cc=James.Bottomley@HansenPartnership.com \
    --cc=hare@suse.de \
    --cc=jens.axboe@oracle.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=tj@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.