Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 31 May 2007 21:41:18 -0600
From:      Scott Long <scottl@samsco.org>
To:        Hidetoshi Shimokawa <simokawa@freebsd.org>
Cc:        freebsd-scsi@freebsd.org
Subject:   Re: scsi_target with multiple luns
Message-ID:  <465F955E.7050103@samsco.org>
In-Reply-To: <86tztspdil.wl%simokawa@FreeBSD.ORG>
References:  <86tztspdil.wl%simokawa@FreeBSD.ORG>

next in thread | previous in thread | raw e-mail | index | archive | help
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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?465F955E.7050103>