Messages in this thread | | | Date | Sat, 21 Aug 2010 22:42:16 +0400 | From | Vladislav Bolkhovitin <> | Subject | Re: [Scst-devel] Fwd: Re: linuxcon 2010... |
| |
Nicholas A. Bellinger, on 08/20/2010 02:29 AM wrote: > "We will be extending the scsi_tgt_[lib,if].c mapped ring interface to > allow TCM to access userspace backstores transparently with existing > kernel level TCM fabric modules, and using the generic configfs fabric > module infrastructure in target_core_fabric_configfs.c for the port and > I_T nexus control plane just as you would with any TCM backstore > subsystem today. > > Again, in open source you have to build upon what already exists and > move forward. The original STGT kernel<-> userspace ring abstraction > and logic in drivers/scsi/scsi_tgt_lib.c:scsi_tgt_queue_command() -> > scsi_tgt_uspace_send_cmd() is already going to do the vast majority of > what is required for handling fabric I/O processing and I_T Nexus and > Port management in kernel space with a userspace backstore. It is > really just a matter of allowing the STGT ring request to optionally be > sent out to userspace as a standalone LUN instead of as a target port."
You forgot to mention one small thing. You are going to (re)use current STGT interface for user space backend, which in 5 years of being mainline has not gained any noticeable interest, because it is fundamentally slow. It needs a complete redesign to become fast. In contrast, interface provided by scst_user has just 3% overhead comparing with fully in-kernel backend and allows to build storage capable of handling 1,500,000 IOPSes (Kaminario).
Vlad
| |