On Sun, 05 Oct 2008 20:41:53 +0200 Alexander Nezhinsky <nezhinsky@xxxxxxxxx> wrote: > Backing store based on SCSI Generic driver (sg), v.3. > allows to route scsi commands to the native scsi devices > unchanged. It uses Direct I/O (dio) to avoid memcopy > to the buffer cache. > > Using sg allows asynchronous execution, commands are > written to a sg-backed char device, completions are > read from the same device, which can be polled > asynchronously. > > This bs provides significant performance improvement when > working with native scsi devices. In a setup, where > the scsi devices are exported by a tgt with bs_null, > and both links (from initiator to target and from the > target to the "backing-store" target) are iSER/IB > sustained bandwidth of 1450 MB/s for READ and > 1350 MB/s for WRITE is achieved. This to be compared to > 700-800 MB/s when running with bs_rdwr in the same setup. > Some improvements are seen with IOPS as well: > 60 kIOPS for READ, 38 kIOPS for WRITE > (compared to 31/35KIOPS with bs_rdwr). I'm not sure what kind of workload you perform, but the performance sounds too good? This patch means we don't do any caching (like using page cache). 1. it might lead to poor performance in real environments (not benchmarks). 2. DIO and AIO backing store code does similar (avoid threads but don't do any caching). DIO and AIO works for any devices so it might be useful? (though it is slower than this since AIO and DIO is more complicated than sg data transfer) -- To unsubscribe from this list: send the line "unsubscribe stgt" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html