mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: "Nicholas A. Bellinger" <nab@linux-iscsi.org>
To: Vladislav Bolkhovitin <vst@vlnb.net>
Cc: Dirk Meister <dmeister@uni-paderborn.de>,
	linux-scsi@vger.kernel.org,
	James Bottomley <James.Bottomley@suse.de>,
	Chetan Loke <chetanloke@gmail.com>,
	Chetan Loke <generationgnu@yahoo.com>,
	scst-devel <scst-devel@lists.sourceforge.net>,
	linux-kernel@vger.kernel.org
Subject: Re: [Scst-devel] Fwd: Re: linuxcon 2010...
Date: Sat, 21 Aug 2010 13:25:16 -0700	[thread overview]
Message-ID: <1282422316.30453.498.camel@haakon2.linux-iscsi.org> (raw)
In-Reply-To: <4C701E08.2020005@vlnb.net>

On Sat, 2010-08-21 at 22:42 +0400, Vladislav Bolkhovitin wrote:
> 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.

First, 'build upon' and blind '(re)use' are different approaches.
Building on is an important requirement for working with any existing
mainline code regardless of how much much attention the code itself may
require.  Initially re-using pieces of the mainline code is acceptable
to get a prototype up and running, and since we don't have many users
for this piece of STGT, it will easier to make larger changes (eg: move
beyond simple re-use) without breaking a large legacy base.

This is what I actually prefer moving forward, as it gives us more
flexibility for the future.

>  It needs a complete redesign to become fast.

Secondly, not being the original author of drivers/scsi/scsi_tgt_*, I am
happy to do the work and submit the necessary patches to achieve the
desired goal.  Also, considering now we have the TCM v4 HBA/DEV
abstraction with a fabric independent control path in
target_core_fabric_configfs.c, there suddenly new interest to build upon
tomo's and mnc'c original STGT work in drivers/scsi/scsi_tgt_*.c

Using struct scsi_cmnd allocation from a specially allocated struct
request_queue still my preferred method for doing this, unless tomo and
mnc state otherwise.   Also if we need to change the request_queue from
being per struct Scsi_Host to struct scsi_device that is one thing that
will be fine.  If we need to make more drastic changes to
drivers/scsi/scsi_tgt_if.c that is also fine.

However saying that it needs a 'complete redesign', especially without
ever consulting or offering to creat patches with STGT guys is not how
mainline development functions.

>  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).
> 

Great!  Please understand that you are more than welcome to create your
own TCM subsystem plugin for your SCST kernel <-> user passthrough
interface so it can take advantage of all the drivers/target/ code has
to offer.   Also, now that target_core_iblock.c, target_core_pscsi.c,
target_core_file.c, and target_core_stgt.c are seperate standalone LKMs
loaded on-demand by TCM/ConfigFS, creating a new TCM struct
se_subsystem_api module will be even easier for you now.

I would even be happy to send a functioning struct se_subsystem_api
skeleton for your efforts once the tcm_mod_builder.py script I am
currently working on for producing unlimited ready-to-run configfs
skeletons for new TCM fabric modules is ready to be pushed.

Best,

--nab


  reply	other threads:[~2010-08-21 20:29 UTC|newest]

Thread overview: 90+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-08-18 14:58 Chetan Loke
2010-08-18 15:11 ` James Bottomley
     [not found]   ` <AANLkTimJGxn=5kEMH68XVWqFcYG3vpfLjLjZpFGqhG_4@mail.gmail.com>
2010-08-18 15:30     ` Bart Van Assche
2010-08-18 16:04   ` Chetan Loke
2010-08-18 16:18     ` James Bottomley
2010-08-18 17:50       ` Vladislav Bolkhovitin
2010-08-19  1:18         ` jack wang
2010-08-20 13:46           ` Ruben Laban
     [not found]           ` <8A96806D-6CD7-44AD-8A9D-143C098C95A4@uni-paderborn.de>
     [not found]             ` <1282256949.30453.278.camel@haakon2.linux-iscsi.org>
2010-08-21 18:42               ` Vladislav Bolkhovitin
2010-08-21 20:25                 ` Nicholas A. Bellinger [this message]
2010-08-24 18:08                   ` Vladislav Bolkhovitin
2010-08-21 20:43                 ` James Bottomley
2010-08-22  7:39                   ` Bart Van Assche
2010-08-22 20:29                     ` James Bottomley
2010-08-23 13:47                       ` Joe Landman
2010-08-23 15:12                         ` Bart Van Assche
     [not found]                         ` <AANLkTim-M6dfLvJQnbieFqZCGG33E+-i+u_soCq2p9f1@mail.gmail.com>
2010-08-23 16:07                           ` Chetan Loke
2010-08-23 18:03                             ` Chetan Loke
2010-08-24  7:25                               ` Pasi Kärkkäinen
2010-08-24 14:43                                 ` Linux I/O subsystem performance (was: linuxcon 2010...) Vladislav Bolkhovitin
2010-08-24 14:55                                   ` Matthew Wilcox
2010-08-24 17:51                                     ` Linux I/O subsystem performance Vladislav Bolkhovitin
2010-08-24 20:40                                       ` Matthew Wilcox
2010-08-24 14:55                                 ` [Scst-devel] Fwd: Re: linuxcon 2010 Chetan Loke
     [not found]                                 ` <4C7404C4.4040704@vlnb.net>
2010-08-24 20:31                                   ` Linux I/O subsystem performance (was: linuxcon 2010...) Chris Worley
2010-08-25 19:12                                     ` Linux I/O subsystem performance Vladislav Bolkhovitin
2010-09-16 15:05                                     ` Linux I/O subsystem performance (was: linuxcon 2010...) Chris Worley
2010-08-23 19:41                       ` [Scst-devel] Fwd: Re: linuxcon 2010 Vladislav Bolkhovitin
2010-08-24 14:41                   ` Vladislav Bolkhovitin
2010-08-24 14:51                     ` Chris Weiss
2010-08-24 14:56                       ` Matthew Wilcox
2010-08-25 22:20                       ` Konrad Rzeszutek Wilk
2010-08-25 22:45                         ` Ted Ts'o
2010-08-24 14:57                     ` James Bottomley
2010-08-24 19:48                       ` Vladislav Bolkhovitin
2010-08-24 21:23                         ` Nicholas A. Bellinger
2010-08-26 20:11                           ` Vladislav Bolkhovitin
2010-08-26 21:23                             ` Nicholas A. Bellinger
2010-08-28 17:32                               ` Vladislav Bolkhovitin
2010-08-28 20:47                                 ` Nicholas A. Bellinger
2010-08-30 20:47                                   ` Vladislav Bolkhovitin
2010-08-30 21:46                                     ` Nicholas A. Bellinger
2010-09-02 19:38                                       ` Vladislav Bolkhovitin
2010-09-02 20:25                                         ` Nicholas A. Bellinger
2010-09-05 20:18                                           ` Dmitry Torokhov
2010-09-05 21:50                                             ` Nicholas A. Bellinger
2010-09-05 23:13                                               ` Mark Deneen
2010-09-06  0:12                                                 ` Nicholas A. Bellinger
2010-09-06  0:58                                                   ` Mark Deneen
2010-09-06  1:34                                                     ` Nicholas A. Bellinger
2010-09-06  5:04                                                   ` Dmitry Torokhov
2010-09-05 23:41                                               ` Dmitry Torokhov
2010-09-05 23:59                                                 ` Nicholas A. Bellinger
2010-09-06  4:56                                                   ` Dmitry Torokhov
2010-09-06 10:39                                                   ` James Bottomley
2010-09-06 11:02                                                     ` Bart Van Assche
2010-09-06 11:27                                                       ` James Bottomley
2010-09-06 15:26                                                         ` Vladislav Bolkhovitin
2010-09-06 21:47                                                     ` Vladislav Bolkhovitin
2010-09-06 21:55                                                       ` Nicholas A. Bellinger
2010-09-06 22:14                                                         ` david
2010-09-07  0:44                                                         ` Dmitry Torokhov
2010-09-07  3:45                                                           ` Chetan Loke
2010-09-07  6:15                                                             ` Bart Van Assche
2010-09-07  6:08                                                           ` Bart Van Assche
2010-09-07  6:26                                                             ` Dmitry Torokhov
2010-09-07 20:14                                                           ` Vladislav Bolkhovitin
2010-09-07 20:14                                                         ` Vladislav Bolkhovitin
2010-09-06 21:16                                               ` Greg KH
2010-09-06 17:28                                           ` Chetan Loke
2010-09-06 21:52                                           ` Vladislav Bolkhovitin
2010-08-18 17:51       ` Chetan Loke
2010-08-18 16:19   ` Bart Van Assche
2010-08-18 16:28   ` Joe Landman
2010-08-18 17:52     ` Vladislav Bolkhovitin
2010-08-18 15:12 ` Chetan Loke
2010-08-18 17:52 ` Vladislav Bolkhovitin
  -- strict thread matches above, loose matches on Subject: below --
2010-08-20 17:40 Ari Lemmke
2010-08-16 16:20 Fwd: Re: [Scst-devel] " Vladislav Bolkhovitin
2010-08-17 20:30 ` James Bottomley
2010-08-18 17:52   ` Vladislav Bolkhovitin
2010-08-18 20:43     ` James Bottomley
2010-08-21 18:51       ` Vladislav Bolkhovitin
2010-08-21 20:38         ` James Bottomley
2010-08-22 22:10           ` [Scst-devel] Fwd: " Gennadiy Nerubayev
2010-08-23 16:59             ` James Bottomley
2010-08-23 17:44               ` Bart Van Assche
2010-08-23 17:58                 ` James Bottomley
2010-08-23 20:11                   ` Bart Van Assche
2010-08-23 20:21                     ` James Bottomley
2010-08-23 19:40               ` Vladislav Bolkhovitin
2010-08-23 20:38                 ` James Bottomley
2010-08-24 10:32                   ` Bart Van Assche
2010-08-24 13:01                   ` Chris Weiss
2010-08-24 19:53                   ` Vladislav Bolkhovitin
2010-08-23 19:40             ` Vladislav Bolkhovitin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1282422316.30453.498.camel@haakon2.linux-iscsi.org \
    --to=nab@linux-iscsi.org \
    --cc=James.Bottomley@suse.de \
    --cc=chetanloke@gmail.com \
    --cc=dmeister@uni-paderborn.de \
    --cc=generationgnu@yahoo.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=scst-devel@lists.sourceforge.net \
    --cc=vst@vlnb.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®