From owner-freebsd-scsi@FreeBSD.ORG Fri Jun 1 06:00:09 2007 Return-Path: X-Original-To: freebsd-scsi@freebsd.org Delivered-To: freebsd-scsi@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 3BD7416A468 for ; Fri, 1 Jun 2007 06:00:09 +0000 (UTC) (envelope-from freebsd@gm.nunu.org) Received: from py-out-1112.google.com (py-out-1112.google.com [64.233.166.177]) by mx1.freebsd.org (Postfix) with ESMTP id DD24013C4AE for ; Fri, 1 Jun 2007 06:00:08 +0000 (UTC) (envelope-from freebsd@gm.nunu.org) Received: by py-out-1112.google.com with SMTP id a29so767077pyi for ; Thu, 31 May 2007 23:00:08 -0700 (PDT) Received: by 10.35.91.10 with SMTP id t10mr2419782pyl.1180677608257; Thu, 31 May 2007 23:00:08 -0700 (PDT) Received: by 10.35.79.1 with HTTP; Thu, 31 May 2007 23:00:08 -0700 (PDT) Message-ID: <626eb4530705312300n177e677cyac2e8ba69039160d@mail.gmail.com> Date: Fri, 1 Jun 2007 15:00:08 +0900 From: "Hidetoshi Shimokawa" Sender: freebsd@gm.nunu.org To: "Matthew Jacob" In-Reply-To: <7579f7fb0705312147p60255cf2r9eac5d5eb8aa5236@mail.gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <86tztspdil.wl%simokawa@FreeBSD.ORG> <465F955E.7050103@samsco.org> <7579f7fb0705312147p60255cf2r9eac5d5eb8aa5236@mail.gmail.com> X-Google-Sender-Auth: ebc36b884d9d4b40 Cc: freebsd-scsi@freebsd.org Subject: Re: scsi_target with multiple luns X-BeenThere: freebsd-scsi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SCSI subsystem List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 01 Jun 2007 06:00:09 -0000 Yes, scsi_target(8) is an example. But the problem I described is actually a problem of targ(4) (scsi_target.c). The userland can do nothing about this problem. Or do you mean targ(4) is also an example? On 6/1/07, Matthew Jacob wrote: > Remember that scsi_target is an example. A fine example, but an > example. Having a single user process that can be shot and killed, no > matter how multithreaded or AIO'd, is not necessarily the wisest > choice for building a target device. > > > On 5/31/07, Scott Long wrote: > > 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 > > > > _______________________________________________ > > freebsd-scsi@freebsd.org mailing list > > http://lists.freebsd.org/mailman/listinfo/freebsd-scsi > > To unsubscribe, send any mail to "freebsd-scsi-unsubscribe@freebsd.org" > > > > -- /\ Hidetoshi Shimokawa \/ simokawa@FreeBSD.ORG