scsi_target with multiple luns
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.
More information about the freebsd-scsi