public inbox for linux-scsi@vger.kernel.org
 help / color / mirror / Atom feed
From: Christoph Hellwig <hch@infradead.org>
To: Patrick Mansfield <patmans@us.ibm.com>
Cc: James Bottomley <James.Bottomley@steeleye.com>,
	linux-scsi@vger.kernel.org
Subject: Re: [PATCH] scsi-misc-2.5 remove scsi_device list_lock
Date: Fri, 25 Apr 2003 11:12:12 +0100	[thread overview]
Message-ID: <20030425111212.A28577@infradead.org> (raw)
In-Reply-To: <20030424100229.A32098@beaverton.ibm.com>; from patmans@us.ibm.com on Thu, Apr 24, 2003 at 10:02:29AM -0700

> -		spin_lock_irqsave(&d->list_lock, flags);
> +		spin_lock_irqsave(&d->sdev_lock, flags);
>  		list_for_each_entry(cmd, &d->cmd_list, list) {
>  			if(cmd->serial_number == 0){

<snip>

> -	spin_lock_irqsave(&sdev->list_lock, flags);
> +	spin_lock_irqsave(sdev->request_queue->queue_lock, flags);
>  	list_for_each_entry(scmd, &sdev->cmd_list, list) {


Oh, please, please use the lock consistantly.  Yes, I know that the
two are the same currently, but it might not be obvious to every reader
and queue_lock might change to something else in the future.

> -void scsi_put_command(struct scsi_cmnd *cmd)
> +void __scsi_put_command(struct scsi_cmnd *cmd)
>  {
>  	struct Scsi_Host *shost = cmd->device->host;
>  	unsigned long flags;
>  	
>  	/* serious error if the command hasn't come from a device list */
> -	spin_lock_irqsave(&cmd->device->list_lock, flags);
>  	BUG_ON(list_empty(&cmd->list));
>  	list_del_init(&cmd->list);
> -	spin_unlock(&cmd->device->list_lock);
> -	/* changing locks here, don't need to restore the irq state */
> -	spin_lock(&shost->free_list_lock);
> +	spin_lock_irqsave(&shost->free_list_lock, flags);

As this is always called under sdev_lock you don't need to care for
irq disabling here.


  parent reply	other threads:[~2003-04-25 10:00 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-04-24 17:02 [PATCH] scsi-misc-2.5 remove scsi_device list_lock Patrick Mansfield
2003-04-24 17:03 ` [PATCH] scsi-misc-2.5 user per-device spare command Patrick Mansfield
2003-04-24 17:03   ` [PATCH] scsi-misc-2.5 fold scsi_alloc_cmd into __scsi_get_command Patrick Mansfield
2003-04-25 10:12   ` [PATCH] scsi-misc-2.5 user per-device spare command Christoph Hellwig
2003-04-25 14:12     ` Luben Tuikov
2003-04-25 16:50       ` Patrick Mansfield
2003-04-25 16:56         ` Christoph Hellwig
2003-04-25 17:45         ` Luben Tuikov
2003-04-25 18:00           ` Patrick Mansfield
2003-04-25 18:36             ` Luben Tuikov
2003-04-25 16:37     ` Patrick Mansfield
2003-04-25 16:50       ` Christoph Hellwig
2003-04-25 16:57       ` James Bottomley
2003-04-25 20:49         ` Patrick Mansfield
2003-04-25 17:38       ` Luben Tuikov
2003-04-25 10:12 ` Christoph Hellwig [this message]
2003-04-25 10:47   ` [PATCH] scsi-misc-2.5 remove scsi_device list_lock Jens Axboe
2003-04-25 16:53     ` Patrick Mansfield
2003-04-25 17:20       ` Jens Axboe
2003-04-25 14:00   ` Luben Tuikov

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=20030425111212.A28577@infradead.org \
    --to=hch@infradead.org \
    --cc=James.Bottomley@steeleye.com \
    --cc=linux-scsi@vger.kernel.org \
    --cc=patmans@us.ibm.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