Re: [PATCH 33/48] hpsa: slightly optimize SA5_performant_completed

2015-01-16 Thread Tomas Henzl
On 01/14/2015 11:02 PM, Don Brace wrote:
> Reviewed-by: Scott Teel 
> Signed-off-by: Don Brace 
> ---
>  drivers/scsi/hpsa.h |8 
>  1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/scsi/hpsa.h b/drivers/scsi/hpsa.h
> index 1856445..aa6cb0b 100644
> --- a/drivers/scsi/hpsa.h
> +++ b/drivers/scsi/hpsa.h
> @@ -412,19 +412,19 @@ static unsigned long SA5_performant_completed(struct 
> ctlr_info *h, u8 q)
>   unsigned long register_value = FIFO_EMPTY;

Hi Don,

the above assignment might be also removed when you at changing this function.
I have noticed that you have taken two patches I've posted earlier - thanks.
Would you mind adding to your series the workqueue patch 
http://www.spinics.net/lists/linux-scsi/msg80035.html
or should I recreate it and repost?

Thanks,
Tomas


>  
>   /* msi auto clears the interrupt pending bit. */
> - if (!(h->msi_vector || h->msix_vector)) {
> + if (unlikely(!(h->msi_vector || h->msix_vector))) {
>   /* flush the controller write of the reply queue by reading
>* outbound doorbell status register.
>*/
> - register_value = readl(h->vaddr + SA5_OUTDB_STATUS);
> + (void) readl(h->vaddr + SA5_OUTDB_STATUS);
>   writel(SA5_OUTDB_CLEAR_PERF_BIT, h->vaddr + SA5_OUTDB_CLEAR);
>   /* Do a read in order to flush the write to the controller
>* (as per spec.)
>*/
> - register_value = readl(h->vaddr + SA5_OUTDB_STATUS);
> + (void) readl(h->vaddr + SA5_OUTDB_STATUS);
>   }
>  
> - if ((rq->head[rq->current_entry] & 1) == rq->wraparound) {
> + if u32) rq->head[rq->current_entry]) & 1) == rq->wraparound) {
>   register_value = rq->head[rq->current_entry];
>   rq->current_entry++;
>   atomic_dec(&h->commands_outstanding);
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
> the body of a message to majord...@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 33/48] hpsa: slightly optimize SA5_performant_completed

2015-01-14 Thread Don Brace
Reviewed-by: Scott Teel 
Signed-off-by: Don Brace 
---
 drivers/scsi/hpsa.h |8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/scsi/hpsa.h b/drivers/scsi/hpsa.h
index 1856445..aa6cb0b 100644
--- a/drivers/scsi/hpsa.h
+++ b/drivers/scsi/hpsa.h
@@ -412,19 +412,19 @@ static unsigned long SA5_performant_completed(struct 
ctlr_info *h, u8 q)
unsigned long register_value = FIFO_EMPTY;
 
/* msi auto clears the interrupt pending bit. */
-   if (!(h->msi_vector || h->msix_vector)) {
+   if (unlikely(!(h->msi_vector || h->msix_vector))) {
/* flush the controller write of the reply queue by reading
 * outbound doorbell status register.
 */
-   register_value = readl(h->vaddr + SA5_OUTDB_STATUS);
+   (void) readl(h->vaddr + SA5_OUTDB_STATUS);
writel(SA5_OUTDB_CLEAR_PERF_BIT, h->vaddr + SA5_OUTDB_CLEAR);
/* Do a read in order to flush the write to the controller
 * (as per spec.)
 */
-   register_value = readl(h->vaddr + SA5_OUTDB_STATUS);
+   (void) readl(h->vaddr + SA5_OUTDB_STATUS);
}
 
-   if ((rq->head[rq->current_entry] & 1) == rq->wraparound) {
+   if u32) rq->head[rq->current_entry]) & 1) == rq->wraparound) {
register_value = rq->head[rq->current_entry];
rq->current_entry++;
atomic_dec(&h->commands_outstanding);

--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html