On Wed, May 05, 1999 at 09:58:33PM -0400, Douglas Gilbert wrote:
> Proposal
> --------
> The proposal is to add a kernel configuration switch:
> CONFIG_SCSI_NO_ISA        [default initially "N"]
> 
> It would have the following effect when "Y":
>  - Any attempt to load an ISA adapter (or more precisely
>    "unchecked_isa_dma == 1") at boot time or as a module is rejected
>    by the SCSI mid-level with an appropriate message to the console,
>    log and/or insmod.
>  - the SCSI mid-level does _not_ restrict itself below the 16MB level
>    when allocating new command blocks or enlarging its buffer pool.

Why not have the mid-level code be intelligent, and only decide at run-time
to try to get mem below 16M (GFP_DMA), if the command is for an adapter with
unchecked_isa_dma==1 ??
The buffer pool is shared between the adapters, so it's a little bit hard to
do. So we need a two-class buffer pool:
1. Normal buffers for sane adapters
2. backup buffers (below 16M), which we would use, when
   (a) a command is for an ISA adapter
   (b) we run out of class 1 buffers

When we run out of class 2 buffers, we allocate more cl.1 or cl.2 buffers,
depending on what adapter caused the running out.
   
It does not look too difficult. It doesn't make the code more clean, though,
I admit. But cleaning up will be a 2.3 issue ...

I'd prefer this approach, but I'd also agree to have your proposal
implemented.


Regards,
-- 
Kurt Garloff  <[EMAIL PROTECTED]>           SuSE GmbH, N�rnberg, FRG
Linux kernel development;    SCSI driver: DC390 (tmscsim/AM53C974)

PGP signature

Reply via email to