scsi_target with multiple luns

Scott Long scottl at samsco.org
Fri Jun 1 03:41:24 UTC 2007


Hidetoshi Shimokawa wrote:
> I have not fully analyzed the problem but I'll describe it just for a note.
> I'd like to ask maintainers of scsi_target for further analysis.
> 
> I experiance a problem with small number(1) of simq and multiple
> scsi_target(8) instances.
> 
> As far as I understand, the following situation could occur under a fairly
> heavy load.
> 
> 1. process A send a request -> cam send to sim
> 2. process B send a request -> blocked because the simq is full
> 3. the request of process A is finished (in the context of process A)
> 4. cam/scsi_target tries to send the request of process B.
>    But the mapped memory is of process A, and scsi_target send wrong
>    ccb to sim.
> 
> Maybe, we should rewrite scsi_target in kernel space with GEOM support..

I'm unclear on how GEOM would fix this.  Also, scsi targets aren't
always DA devices.  I dedicated scsi_da_target device that is backed
by GEOM might be interesting, though.  Even more interesting would be
a direct DMA method that required no KVA mappings for the data.

Scott



More information about the freebsd-scsi mailing list