Ang: Re: [Stgt-devel] Re: [Iscsitarget-devel] stgt a new version of iscsi target?
James.Bottomley at SteelEye.com
Wed Dec 28 17:32:08 CET 2005
On Tue, 2005-12-27 at 08:53 +0900, FUJITA Tomonori wrote:
> Mike and I have worked on the tgt mmap version.
> o It does read/write commands like sg by using mmap in user space and
> get_user_pages in kernel space.
> o It does non-read/write commands like direct I/O by allocating
> aligned buffers in user space and using get_user_pages in kernel space.
> It works like the simple tap that you suggested. It does not allocate
> buffers in kernel space at all and does zero copy on all sorts of
> Here are some performance results with open-iscsi (which are better
> than the previous results that I got with sfnet).
> o IET
> | 2005/12/27-07:50:59 | STAT | 6827 | v1.2.8 | /dev/sdc | Total write throughput: 53790310.4B/s (51.30MB/s), IOPS 6566.2/s.
> o current tgt (I/O in kernel space)
> | 2005/12/27-08:07:50 | STAT | 7294 | v1.2.8 | /dev/sdc | Total write throughput: 49666457.6B/s (47.37MB/s), IOPS 6062.8/s.
> o tgt mmap
> | 2005/12/27-08:42:51 | STAT | 5286 | v1.2.8 | /dev/sdc | Total write
> throughput: 44701286.4B/s (42.63MB/s), IOPS 5456.7/s.
> We can get something like this if we avoid calling mmap/munmap per
> command (by using some sorts of caching).
> o tgt mmap (mmap caching)
> | 2005/12/27-07:53:19 | STAT | 6996 | v1.2.8 | /dev/sdc | Total write throughput: 48253337.6B/s (46.02MB/s), IOPS 5890.3/s.
> James, can we get your approval of the this mmap design?
Yes, that looks fine ... it runs in user space, which was really all I
was looking for.
There is another half to this, which is that I'd like the tap to come
via a SCSI API. This isn't strictly necessary for iSCSI but it would
allow us to integrate a generic target approach that could work for all
SCSI HBA's as well as just iSCSI.
More information about the stgt