public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 06/11] mtip32xx: Use plain spinlock for 'cmd_issue_lock'
@ 2012-05-30  1:43 Asai Thambi S P
  2012-05-31  6:44 ` Jens Axboe
  0 siblings, 1 reply; 2+ messages in thread
From: Asai Thambi S P @ 2012-05-30  1:43 UTC (permalink / raw)
  To: Jens Axboe, linux-kernel@vger.kernel.org, Sam Bradshaw


'cmd_issue_lock' is for only acquiring a free slot, and it is not used
in interrupt context. So replaced irq version with non-irq version of spinlock.

Signed-off-by: Asai Thambi S P <asamymuthupa@micron.com>
---
 drivers/block/mtip32xx/mtip32xx.c |    6 ++----
 1 files changed, 2 insertions(+), 4 deletions(-)

diff --git a/drivers/block/mtip32xx/mtip32xx.c b/drivers/block/mtip32xx/mtip32xx.c
index 801e70c..a8a5522 100644
--- a/drivers/block/mtip32xx/mtip32xx.c
+++ b/drivers/block/mtip32xx/mtip32xx.c
@@ -294,18 +294,16 @@ static int hba_reset_nosleep(struct driver_data *dd)
  */
 static inline void mtip_issue_ncq_command(struct mtip_port *port, int tag)
 {
-	unsigned long flags = 0;
-
 	atomic_set(&port->commands[tag].active, 1);
 
-	spin_lock_irqsave(&port->cmd_issue_lock, flags);
+	spin_lock(&port->cmd_issue_lock);
 
 	writel((1 << MTIP_TAG_BIT(tag)),
 			port->s_active[MTIP_TAG_INDEX(tag)]);
 	writel((1 << MTIP_TAG_BIT(tag)),
 			port->cmd_issue[MTIP_TAG_INDEX(tag)]);
 
-	spin_unlock_irqrestore(&port->cmd_issue_lock, flags);
+	spin_unlock(&port->cmd_issue_lock);
 
 	/* Set the command's timeout value.*/
 	port->commands[tag].comp_time = jiffies + msecs_to_jiffies(
-- 
1.7.1


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH 06/11] mtip32xx: Use plain spinlock for 'cmd_issue_lock'
  2012-05-30  1:43 [PATCH 06/11] mtip32xx: Use plain spinlock for 'cmd_issue_lock' Asai Thambi S P
@ 2012-05-31  6:44 ` Jens Axboe
  0 siblings, 0 replies; 2+ messages in thread
From: Jens Axboe @ 2012-05-31  6:44 UTC (permalink / raw)
  To: Asai Thambi S P; +Cc: linux-kernel@vger.kernel.org, Sam Bradshaw

On 05/30/2012 03:43 AM, Asai Thambi S P wrote:
> 
> 'cmd_issue_lock' is for only acquiring a free slot, and it is not used
> in interrupt context. So replaced irq version with non-irq version of spinlock.
> 
> Signed-off-by: Asai Thambi S P <asamymuthupa@micron.com>
> ---
>  drivers/block/mtip32xx/mtip32xx.c |    6 ++----
>  1 files changed, 2 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/block/mtip32xx/mtip32xx.c b/drivers/block/mtip32xx/mtip32xx.c
> index 801e70c..a8a5522 100644
> --- a/drivers/block/mtip32xx/mtip32xx.c
> +++ b/drivers/block/mtip32xx/mtip32xx.c
> @@ -294,18 +294,16 @@ static int hba_reset_nosleep(struct driver_data *dd)
>   */
>  static inline void mtip_issue_ncq_command(struct mtip_port *port, int tag)
>  {
> -	unsigned long flags = 0;
> -
>  	atomic_set(&port->commands[tag].active, 1);
>  
> -	spin_lock_irqsave(&port->cmd_issue_lock, flags);
> +	spin_lock(&port->cmd_issue_lock);
>  
>  	writel((1 << MTIP_TAG_BIT(tag)),
>  			port->s_active[MTIP_TAG_INDEX(tag)]);
>  	writel((1 << MTIP_TAG_BIT(tag)),
>  			port->cmd_issue[MTIP_TAG_INDEX(tag)]);
>  
> -	spin_unlock_irqrestore(&port->cmd_issue_lock, flags);
> +	spin_unlock(&port->cmd_issue_lock);

Looks fine - wasn't going to comment specifically on this one, but
wanted to say, that in general you don't need to pre-clear the flags
variable before passing it to _irqsave().

-- 
Jens Axboe


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2012-05-31  6:45 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-05-30  1:43 [PATCH 06/11] mtip32xx: Use plain spinlock for 'cmd_issue_lock' Asai Thambi S P
2012-05-31  6:44 ` Jens Axboe

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox