public inbox for linux-scsi@vger.kernel.org
 help / color / mirror / Atom feed
From: "erich" <erich@areca.com.tw>
To: Christoph Hellwig <hch@infradead.org>
Cc: linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org,
	billion.wu@areca.com.tw, alan@lxorguk.ukuu.org.uk, akpm@osdl.org,
	arjan@infradead.org, oliver@neukum.org
Subject: Re: Areca RAID driver remaining items?
Date: Thu, 23 Feb 2006 14:27:26 +0800	[thread overview]
Message-ID: <00dc01c63842$381f9a30$b100a8c0@erich2003> (raw)
In-Reply-To: 20060222145733.GC16269@infradead.org

Dear Christoph Hellwig,

I have figure out your comments about "remove internal queueing" and "remove 
odd ioctl".
But about "hardware datastructures", areca's firmware spec is need to get a 
trunk of contingous memory space under 4G.
In 64bit platform arcmsr need to make sure all ccbs have same of 
ccb_phyaddr_hi32 physical address.
If arcmsr use dma_pool_alloc do a separate dma mapping.
Is there any method to avoid ccbs pool cross 4G segment?

- msi should be a module options if at all, but defintitly not
   a config options

In some mainboard if I always enable msi function, it will cause system hang 
up.
If it is not a config option, do you have any idea to avoid this issue?

Best Regards
Erich Chen
----- Original Message ----- 
From: "Christoph Hellwig" <hch@infradead.org>
To: "erich" <erich@areca.com.tw>
Cc: <linux-scsi@vger.kernel.org>; <linux-kernel@vger.kernel.org>; 
<billion.wu@areca.com.tw>; <alan@lxorguk.ukuu.org.uk>; <akpm@osdl.org>; 
<arjan@infradead.org>; <oliver@neukum.org>
Sent: Wednesday, February 22, 2006 10:57 PM
Subject: Re: Areca RAID driver remaining items?


> On Wed, Feb 22, 2006 at 02:27:32PM +0800, erich wrote:
>> Hi Christoph Hellwig,
>>
>> Thanks for your comment with "arcmsr".
>> I will follow your comment to redo this driver.
>> But I am confuse with your mention about some items.
>> Hope you can tell me more detail and let me realy know your comment.
>>
>>  1- remove internal queueing:
>>
>>      Does the "internal queueing" is mention with arcmsr of ccb_free_list 
>> ?
>
> Currently the drivers queuecommand routine works the following:
>
> 1) perform some checks
> 2) try to post outstanding ccbs
> 3) grab new ccb from freelist and set it up
> 4) try to post new ccb, else enqueue it
>
> there is not poin in having such a pending queue in the driver because
> the midlayer does that work for you.  If ->queuecommand can't immediately
> post a ccb you should return
>
> SCSI_MLQUEUE_HOST_BUSY   if there is a resource shortage at the hba level
> SCSI_MLQUEUE_DEVICE_BUSY if there is a resource shortage at the device 
> level
>
> and the scsi midlayer will try to send the command again once a command
> has been completed on the hba/device.
>
>>  2- fix hardware datastructures:
>>
>>      Does the "fix hardware datastructures" is to fix struct ARCMSR_CDB?
>>      Is it illeagal in linux?
>
> struct CCB is a structure that is passed to the hardware but contains
> pointers which have different sized on different architectures.  This
> is generally very dangerous.  If this is just a cookie that the hardware
> doesn't interpret at all it needs more documentation.  Also the way
> you try to convert from bus to virtual addresses with pACB->vir2phy_offset
> can't work on many linux platforms because the virtual to bus address
> mapping isn't contingous.  you need a separate dma mapping for each ccb,
> a good way to archive that is the dma_pool_ * API.
>
>
>>  3- remove odd ioctls:
>>
>>      How about remove odd ioctl?
>
> generally we don't want to add new ioctls.  For scsi/raid drivers there's
> been an exception where we allow a pass-through to the firmware which
> the managment applications need.  the driver has various ioctls that
> don't seem to fall into that category. 


  reply	other threads:[~2006-02-23  6:27 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-02-20 18:02 Areca RAID driver remaining items? Dax Kelson
2006-02-20 18:11 ` Arjan van de Ven
2006-02-20 18:20 ` Christoph Hellwig
2006-02-22  6:27   ` erich
2006-02-22 14:57     ` Christoph Hellwig
2006-02-23  6:27       ` erich [this message]
2006-02-23  8:25         ` Arjan van de Ven
2006-02-23  9:50           ` erich
2006-02-23  9:56             ` Arjan van de Ven
2006-02-23 11:51               ` erich
2006-02-23 12:07                 ` Arjan van de Ven
2006-02-24  2:08                   ` erich
2006-02-24  8:50                     ` Arjan van de Ven
2006-02-23 11:59             ` Alan Cox
2006-02-24  2:36               ` erich
2006-02-24 16:56               ` Christoph Hellwig
2006-02-24 17:03                 ` Randy.Dunlap
2006-02-24 19:38                   ` Matthew Wilcox
2006-02-24 20:14                     ` Randy.Dunlap
2006-02-26  6:41                     ` Randy.Dunlap
2006-02-26 16:02                       ` Matthew Wilcox
2006-02-26 19:00                         ` Randy.Dunlap
  -- strict thread matches above, loose matches on Subject: below --
2006-02-24  3:18 erich
2006-02-27 11:27 erich
2006-02-27 12:36 ` Matthew Wilcox

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='00dc01c63842$381f9a30$b100a8c0@erich2003' \
    --to=erich@areca.com.tw \
    --cc=akpm@osdl.org \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=arjan@infradead.org \
    --cc=billion.wu@areca.com.tw \
    --cc=hch@infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=oliver@neukum.org \
    /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