RE: [PATCH 4/4] mvsas: Fine-tuned tags array for alignment

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi, James

DECLARE_BITMAP isn't a good option for mvsas, since the tags array couldn't be global(it's chip-related) and even if we define the static tag array both in mv64xx.c and mv94xx.c, it still couldn't honor 88SE9480 as there are 2 separate cores. So if we use DECLARE_BITMAP, it's hard to maintain the corresponding tag for different core.  

Can we use the following replacement:
 -	u8 tags[MVS_SLOTS >> 3];
 +	unsigned long tags[MVS_SLOTS / BITS_PER_LONG];

Thank you.

-----Original Message-----
From: Jeff Garzik [mailto:jeff@xxxxxxxxxx] 
Sent: 2009年5月9日 0:23
To: James Bottomley
Cc: Ying Chu; linux-scsi@xxxxxxxxxxxxxxx
Subject: Re: [PATCH 4/4] mvsas: Fine-tuned tags array for alignment

James Bottomley wrote:
> On Fri, 2009-05-08 at 14:18 +0800, Ying Chu wrote:
>> >From 2269b0ff3c2573f76cb0569eb5da99e9f12711d1 Mon Sep 17 00:00:00 
>> >2001
>> From: ayan <ayan@xxxxxxxxxxx>
>> Date: Fri, 8 May 2009 19:59:39 +0800
>> Subject: [PATCH 4/4] bug fix: alignment
>>
>> Fine-tuned tags array with u32 for alignment. 
>>
>> Signed-off-by: Ying Chu <jasonchu@xxxxxxxxxxx>
>> Signed-off-by: Andy Yan <ayan@xxxxxxxxxxx>
>> Signed-off-by: Ke Wei <kewei@xxxxxxxxxxx>
>> ---
>>  drivers/scsi/mvsas/mv_sas.h |    2 +-
>>  1 files changed, 1 insertions(+), 1 deletions(-)
>>
>> diff --git a/drivers/scsi/mvsas/mv_sas.h 
>> b/drivers/scsi/mvsas/mv_sas.h index 75b9748..04f27bf 100644
>> --- a/drivers/scsi/mvsas/mv_sas.h
>> +++ b/drivers/scsi/mvsas/mv_sas.h
>> @@ -313,7 +313,7 @@ struct mvs_info {
>>  	const struct mvs_chip_info *chip;
>>  
>>  	int tags_num;
>> -	u8 tags[MVS_SLOTS >> 3];
>> +	u32 tags[MVS_SLOTS >> 5];
> 
> Why not just do
> 
> DECLARE_BITMAP(tags, MVS_SLOTS);
> 
> here? ... that way you're using the correctly defined type for the 
> bitmap operations and you can lose the spurious (void *) cast in your 
> bitmap wrapper operations.

Agreed.  Type 'u32' is incorrect for bitmap operations...  it needs to be 'unsigned long', which is what DECLARE_BITMAP gives you.

	Jeff




?韬{.n?????%??檩??w?{.n???{炳??Ф?塄}?财??j:+v??????2??璀??摺?囤??z夸z罐?+?????w棹f


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux