public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: James Bottomley <James.Bottomley@SteelEye.com>
To: Jens Axboe <axboe@suse.de>
Cc: Chris Rankin <rankincj@yahoo.com>,
	Linux Kernel <linux-kernel@vger.kernel.org>,
	SCSI Mailing List <linux-scsi@vger.kernel.org>
Subject: Re: [OOPS] 2.6.11 - NMI lockup with CFQ scheduler
Date: Wed, 06 Apr 2005 11:27:20 -0500	[thread overview]
Message-ID: <1112804840.5476.16.camel@mulgrave> (raw)
In-Reply-To: <20050329120311.GO16636@suse.de>

On Tue, 2005-03-29 at 14:03 +0200, Jens Axboe wrote:
> It is quite a serious problem, not just for CFQ. SCSI referencing is
> badly broken there.

OK ... I accept that with regard to the queue lock.

However, rather than trying to work out a way to tie all the refcounted
objects together, what about the simpler solution of making the lock
bound to the lifetime of the queue?

As far as SCSI is concerned, we could simply move the lock into the
request_queue structure and everything would work since the device holds
a reference to the queue.  The way it would work is that we'd simply
have a lock in the request_queue structure, but it would be up to the
device to pass it in in blk_init_queue.  Then we'd alter the scsi_device
sdev_lock to be a pointer to the queue lock?  This scheme would also
work for the current users who have a global lock (they simply wouldn't
use the lock int the request_queue).

The only could on the horizon with this scheme is that there may
genuinely be places where we want multiple queues to share a non-global
lock:  situations where we have shared issue queues (like IDE), or
shared tag resources are a possibility.  To cope with those, we'd
probably have to have a separately allocated, reference counted lock.

However, I'm happy to implement the simpler solution (lock in
requuest_queue) if you agree.

James


James



  reply	other threads:[~2005-04-06 17:48 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-03-29 11:54 [OOPS] 2.6.11 - NMI lockup with CFQ scheduler Chris Rankin
2005-03-29 12:03 ` Jens Axboe
2005-04-06 16:27   ` James Bottomley [this message]
2005-04-06 17:58     ` Jens Axboe
2005-04-06 18:20       ` James Bottomley
2005-04-06 19:08         ` Jens Axboe
2005-04-06 21:09           ` James Bottomley
2005-04-07  6:49             ` Jens Axboe
2005-04-07 13:18               ` James Bottomley
2005-04-07 13:22                 ` Christoph Hellwig
2005-04-07 13:24                   ` Jens Axboe
2005-04-07 13:30                   ` James Bottomley
2005-04-07 13:32                     ` Jens Axboe
2005-04-07 13:39                       ` James Bottomley
2005-04-07 14:45                         ` Jens Axboe
2005-04-08 13:04                           ` James Bottomley
2005-04-08 13:09                             ` Jens Axboe
2005-04-07 13:24                 ` Jens Axboe
  -- strict thread matches above, loose matches on Subject: below --
2005-03-29 12:22 Chris Rankin
2005-03-29 12:26 ` Jens Axboe
2005-04-06 12:31   ` Jens Axboe
2005-04-06 12:52     ` Arjan van de Ven
2005-04-06 12:55       ` Jens Axboe
2005-04-06 13:38         ` Tejun Heo
2005-04-06 18:01           ` Jens Axboe
2005-04-06 20:32           ` Mike Anderson
2005-03-27 19:22 Chris Rankin
2005-03-29 11:32 ` 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=1112804840.5476.16.camel@mulgrave \
    --to=james.bottomley@steeleye.com \
    --cc=axboe@suse.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=rankincj@yahoo.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox